- 浏览: 305372 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
liuyong19832011:
,赞一个
Java通过BufferedWriter追加内容到文件末尾的几种常用方法 -
justjavac:
总结很好,怎么没人支持呢?最近发现iteye踩贴现象很严重。
shell数组的使用
http://www.2cto.com/kf/201208/152005.html
一、功能简述
点击“导出”按钮,弹出文件选择对话框,选择存放路径,填写文件名,点击“导出”按钮导出界面上table中的数据到指定路径
添加:dom4j-1.6.1.jar,用于XML
二、实现效果
2.1 界面数据
2.2 文件选择对话框
2.3 导出成功后,文件内容
三、代码
四、调用方式
一、功能简述
点击“导出”按钮,弹出文件选择对话框,选择存放路径,填写文件名,点击“导出”按钮导出界面上table中的数据到指定路径
添加:dom4j-1.6.1.jar,用于XML
二、实现效果
2.1 界面数据
2.2 文件选择对话框
2.3 导出成功后,文件内容
三、代码
public class ExportFileService { private static final String SAVEPATH = "D:\\"; private static final String BUTTONTEXT = "导出"; private static final String TITLE = "导出数据"; public ExportFileService(){ } /** * * @param filters 可选择的导出类型 * @return file[0] 文件全路径;file[1] 导出类型 */ public static String[] exportFile(List<FileFilter> filters){ JFileChooser fileChooser = initEmportFile(filters); int result = fileChooser.showOpenDialog(null); String type = fileChooser.getFileFilter().getDescription(); if (result == JFileChooser.APPROVE_OPTION) { File file = fileChooser.getSelectedFile(); String fn = file.getPath(); String[] fileAndType = new String[2]; fileAndType[0]=fn; fileAndType[1]=type; return fileAndType; } return null; } /** * 文件对话框中判断是否覆盖已存在文件,加入带导入类型 * @param filters 可选择的导入类型 * @return 文件选择框 */ private static JFileChooser initEmportFile(List<FileFilter> filters) { JFileChooser fileChooser = new JFileChooser(SAVEPATH) { private static final long serialVersionUID = 1L; public void approveSelection() { File file; String fileName = this.getSelectedFile().getAbsolutePath(); file = new File(fileName); if (file.exists()) { int copy = JOptionPane.showConfirmDialog(null, "是否要覆盖当前文件?", "保存", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE); if (copy == JOptionPane.YES_OPTION) { super.setSelectedFile(file); super.approveSelection(); } } else super.approveSelection(); } }; fileChooser.setAcceptAllFileFilterUsed(false); fileChooser.setApproveButtonText(BUTTONTEXT); fileChooser.setDialogTitle(TITLE); for(FileFilter one :filters){ fileChooser.addChoosableFileFilter( one); } return fileChooser; } /** * 创建新的Excel 工作簿 * @param filename 待导出文件名称的全路径,不带后缀 * @param data 待导出数据,首个list<Object>是字段信息 * @param sheetName 表单名称 * @return true 导出成功;false 导出失败 */ @SuppressWarnings("deprecation") public static boolean createExcel(String filename, List<List<Object>> data, String sheetName) { HSSFWorkbook workbook = null; HSSFSheet sheet = null; HSSFRow[] rows = null; HSSFCell[][] cells = null; workbook = new HSSFWorkbook(); if (sheetName.trim().equals("")) { sheet = workbook.createSheet("表"); } else { sheet = workbook.createSheet(sheetName); } try { int row = 0; int col = 0; if (data.size() > 0) { row = data.size(); col = data.get(0).size(); } rows = new HSSFRow[row]; cells = new HSSFCell[row][col]; for (int i = 0; i < data.size(); i++) { rows[i] = sheet.createRow((short) i); for (int j = 0; j < data.get(i).size(); j++) { cells[i][j] = rows[i].createCell((short) j); cells[i][j].setCellType(HSSFCell.CELL_TYPE_STRING); if (data.get(i).get(j) != null && !data.get(i).get(j).toString().trim().equals("")) { cells[i][j].setCellValue(data.get(i).get(j).toString() .trim()); } else { cells[i][j].setCellValue(""); } } } FileOutputStream fOut = new FileOutputStream(filename); // 把相应的Excel 工作簿存盘 workbook.write(fOut); fOut.flush(); // 操作结束,关闭文件 fOut.close(); return true; } catch (Exception e) { return false; } } /** * 生成XML文件 * @param filename 待导出文件名称的全路径,不带后缀 * @param data 待导出数据,首个list<Object>是字段信息 * @return true 导出成功;false 导出失败 */ public static boolean createXML(String filename, List<List<Object>> data) { Document doc = DocumentHelper.createDocument(); Element root = doc.addElement("root"); List<Object> name = data.get(0); for (int i = 1; i < data.size(); i++) { Element row = root.addElement("row"); for (int j = 0; j < name.size(); j++) { Element cell = row.addElement("col" + j); cell.setText(null == data.get(i).get(j) ? "" : data.get(i) .get(j).toString()); cell.addAttribute("name", name.get(j).toString()); } } try { FileOutputStream fOut = new FileOutputStream(filename); OutputFormat format = new OutputFormat(" ", true); format.setEncoding("utf-8"); // 可以把System.out改为你要的流。 XMLWriter xmlWriter = new XMLWriter(fOut, format); xmlWriter.write(doc); xmlWriter.close(); return true; } catch (IOException e) { e.printStackTrace(); } return false; } }
/** * XML文件类型 * @author rwq * */ public class MyFileFilterXML extends javax.swing.filechooser.FileFilter { private List<String> ext=new ArrayList<String>(); public MyFileFilterXML(){ ext.add(".XML"); ext.add(".xml"); } public List<String> getExt() { return ext; } public boolean accept(java.io.File pathname) { String fn = pathname.getAbsolutePath().toString(); if (fn.length() > 4) fn = fn.substring(fn.length() - 4, fn.length()); if (ext.contains(fn)|| pathname.isDirectory()) return true; return false; } public String getDescription() { return "XML文件(*.xml)"; } }
/** * Excel文件类型 * @author rwq * */ public class MyFileFilterExcel extends javax.swing.filechooser.FileFilter { private List<String> ext=new ArrayList<String>(); public MyFileFilterExcel(){ ext.add(".XLS"); ext.add(".xls"); ext.add("xlsx"); ext.add("XLSX"); } public List<String> getExt() { return ext; } public boolean accept(java.io.File pathname) { String fn = pathname.getAbsolutePath().toString(); if (fn.length() > 4){ fn = fn.substring(fn.length() - 4, fn.length()); } if (ext.contains(fn) || pathname.isDirectory()){ return true; } return false; } public String getDescription() { return "Excel文件(*.xls,*.xlsx)"; } }
四、调用方式
/** * 导出 */ private void export() { MyFileFilterExcel excelFilter = new MyFileFilterExcel(); MyFileFilterXML xmlFilter = new MyFileFilterXML(); List<FileFilter> filters = new ArrayList<FileFilter>(); filters.add(excelFilter); filters.add(xmlFilter); boolean createFileRs = false; String[] pathAndTypeStr = ExportFileService.exportFile(filters); if(pathAndTypeStr==null){ return ; } List<List<Object>> data = changeDataToFile(); if (pathAndTypeStr[1].equals(excelFilter.getDescription())) { pathAndTypeStr[0] = pathAndTypeStr[0] + ".xls"; createFileRs = ExportFileService.createExcel(pathAndTypeStr[0], data, viewAccountV.comboxYearAndMonth.getSelectedItem().toString()); } else if (pathAndTypeStr[1].equals(xmlFilter.getDescription())) { pathAndTypeStr[0] = pathAndTypeStr[0] + ".xml"; createFileRs = ExportFileService.createXML(pathAndTypeStr[0], data); } JOptionPane.showMessageDialog(null, "文件导出" + (createFileRs ? "成功" : "失败"), "提示", JOptionPane.INFORMATION_MESSAGE); }
发表评论
-
[转] System.out.println()和System.out.write()的区别
2013-12-27 16:14 901转至:http://blog.chinaunix.net/ui ... -
[转]Java读取解析sql文件,并使用netiler dao执行sql
2013-12-26 15:25 7991转至: 最近在做系统数据初始化,采用sql形式导入基础数据,这 ... -
[转]Java 单例模式详解
2013-08-20 11:15 796转至:http://www.cnblogs.com/whgw/ ... -
[转]Java synchronized详解
2013-08-07 19:12 856转至:http://www.cnblogs.com/devin ... -
[转]Java Socket Programming-Transferring large sized files through socket
2013-08-06 18:26 2872转至:http://www.coderpanda.com/ja ... -
【转】java如何从ftp下载超大文件
2013-08-06 00:28 2052转至: http://www.2cto.com/k ... -
【转】java大数据处理(千万级别FTP下载)
2013-08-06 00:20 1533转至:http://www.th7.cn/Program/ja ... -
Jakarta-Common-IO使用笔记
2013-08-05 14:11 1024转至: http://tech.ddvip.com/2008- ... -
[转]StringUtils详细介绍
2013-07-24 17:31 1300原文地址:http://www.blogj ... -
[转]BeanUtils.copyProperties()的用法
2013-07-24 15:16 2693原文地址: http://blog.csdn.net/itmy ... -
[转]Java内存泄漏
2013-04-10 13:45 875http://www.cnblogs.com/dotnetdo ... -
【转】用shell生成简单格式的xml
2013-02-25 21:53 2087http://blog.csdn.net/dengzhaoqu ... -
Java中split的注意事项
2013-01-22 00:08 1058stringObj.split([separator,[lim ... -
Struts2.2.1注解方式使用json整合jquery getJson方法
2013-01-10 22:53 01.引入与json相关的jar文件: json-lib ... -
ssh2常用annotation
2012-01-30 21:54 1005Spring annotation: @Servic ... -
Java日期类型与String的转换
2011-11-04 14:30 91531.String转Date SimpleDateFormat ... -
Java调用批处理或可执行文件[转载]
2011-07-22 17:17 756http://www.blogjava.net/supercr ... -
Java通过BufferedWriter追加内容到文件末尾的几种常用方法
2011-07-18 16:15 33837import java.io.BufferedWriter; ... -
JAVA map的遍历
2011-07-05 09:07 1021第一种entrySet,效率较高,推荐用这种: Map ... -
java.lang.OutOfMemoryError: Java heap space 的解决[转载]
2011-05-27 14:00 10471、首先是:java.lang.OutOfMemoryErro ...
相关推荐
java实现导出Excel文件和XML文件
java 导入导出excel、xml文件解析工具,减少工作量。
java实现导入或者导出excel、xml、pdf等。
导出Excel文件利用apache的poi第三方包,可在阿帕奇官网下载(最新版本为3.8,支持office2010)。解压文件后,只需要把项目导入到eclipse,再将hibernate.cfg.xml里连接Oracle的URL和用户名、密码更改下。参考entity...
在java中导出Excel文件,以及相应的jar包
java Swing 读取xml并导出Excel java Swing 读取xml并导出Excel
java导出excel、xml、pdf格式的文档,简单易用。
读取xml导出为excel 读取xml导出为excel
概述:Java poi导入导出EXCEL工具类(兼容各版本) 一、功能说明 允许同时导入或导出多个sheet,同一sheet可同时存在多个数据块,按数据块划分处理数据。 二、配置文件示例及详细说明 1、导入xml配置示例如下(见...
读取路径导出至本地,其中包含excel数据转换
java通过xml导出word和excell例子java通过xml导出word和excell例子java通过xml导出word和excell例子java通过xml导出word和excell例子
java 导出Excel文件 网页方式打开 web.xml配置,直接连接window.open(“文件地址”);就可以打开或是下载excel文件,无需别的。。。。。
上述代码另存为一个xml或是xls文件,通过EXCEL打开,就可以看到直观的效果,其中的worksheet item就是我们所说的SHEET,table是我们的表格数据,只要按照此种格式生成一个文件,就OK了,这种方法比较简单可行,只是...
NULL 博文链接:https://fanshuyao.iteye.com/blog/2393131
XML文件导出Excel(xmlToExcel)源码
找的例子,大概改了改,没怎么做封装,能用的用吧
在日常的开发工作中,我们时常会遇到导出Word文档... 第二种方式可以生成复杂的Word文档,但是还要进行Word转xml,xml转ftl的双重转换,不适合内容经常变更的Word文档; 第三种方式有时候不适合对格式要求严格的文档。
java导出excelxml.pdf
提供java导出excel的pom.xml配置和逻辑代码,包括工具类和示例源码,可根据自己的需求改变即可