- 浏览: 311024 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
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 988转至:http://blog.chinaunix.net/ui ... -
[转]Java读取解析sql文件,并使用netiler dao执行sql
2013-12-26 15:25 8098转至: 最近在做系统数据初始化,采用sql形式导入基础数据,这 ... -
[转]Java 单例模式详解
2013-08-20 11:15 828转至:http://www.cnblogs.com/whgw/ ... -
[转]Java synchronized详解
2013-08-07 19:12 942转至:http://www.cnblogs.com/devin ... -
[转]Java Socket Programming-Transferring large sized files through socket
2013-08-06 18:26 2917转至:http://www.coderpanda.com/ja ... -
【转】java如何从ftp下载超大文件
2013-08-06 00:28 2139转至: http://www.2cto.com/k ... -
【转】java大数据处理(千万级别FTP下载)
2013-08-06 00:20 1625转至:http://www.th7.cn/Program/ja ... -
Jakarta-Common-IO使用笔记
2013-08-05 14:11 1061转至: http://tech.ddvip.com/2008- ... -
[转]StringUtils详细介绍
2013-07-24 17:31 1335原文地址:http://www.blogj ... -
[转]BeanUtils.copyProperties()的用法
2013-07-24 15:16 2735原文地址: http://blog.csdn.net/itmy ... -
[转]Java内存泄漏
2013-04-10 13:45 920http://www.cnblogs.com/dotnetdo ... -
【转】用shell生成简单格式的xml
2013-02-25 21:53 2134http://blog.csdn.net/dengzhaoqu ... -
Java中split的注意事项
2013-01-22 00:08 1092stringObj.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 1042Spring annotation: @Servic ... -
Java日期类型与String的转换
2011-11-04 14:30 91971.String转Date SimpleDateFormat ... -
Java调用批处理或可执行文件[转载]
2011-07-22 17:17 813http://www.blogjava.net/supercr ... -
Java通过BufferedWriter追加内容到文件末尾的几种常用方法
2011-07-18 16:15 33912import java.io.BufferedWriter; ... -
JAVA map的遍历
2011-07-05 09:07 1071第一种entrySet,效率较高,推荐用这种: Map ... -
java.lang.OutOfMemoryError: Java heap space 的解决[转载]
2011-05-27 14:00 10841、首先是:java.lang.OutOfMemoryErro ...
相关推荐
Java实现导出Excel文件和XML文件是Java语言中的一种常见需求,本文将详细介绍如何使用Java实现导出Excel文件和XML文件的功能。 一、功能简述 点击“导出”按钮,弹出文件选择对话框,选择存放路径,填写文件名,...
导出Excel文件利用apache的poi第三方包,可在阿帕奇官网下载(最新版本为3.8,支持office2010)。解压文件后,只需要把项目导入到eclipse,再将hibernate.cfg.xml里连接Oracle的URL和用户名、密码更改下。参考entity...
在Java开发中,处理Excel和XML文件是一项常见的任务,特别是在数据导入导出、报表生成以及数据交换等场景。本文将详细讲解如何使用Java进行Excel和XML文件的解析及操作。 一、Excel文件处理 1. **Apache POI库**:...
文档标题为“java导出Excel文件.pdf”,描述了从导入依赖、配置文件、前端实现到后端处理的完整流程。涉及到的技术标签包括POI、Vue、Spring Boot以及jqGrid。我们接下来将按照标题和描述的要求,详细解读各个部分的...
在Java编程中,导出Excel、Word和PDF是常见的数据呈现和报告生成需求。这些文件格式广泛用于数据存储、报表生成、文档分享等场景。以下将详细介绍如何使用Java实现这三种文件类型的导出。 首先,让我们关注Excel的...
在Java编程中,导出Excel文件是常见的数据处理任务,特别是在数据分析、报表生成或数据交换等场景。这里我们将深入探讨如何使用Java实现XML到Excel的转换以及如何创建一个通用的Excel导出工具类。首先,我们需要理解...
Java POI 实现 Excel 导入导出 Java POI 是一个流行的 Java 库,用于处理 Microsoft Office 文件格式,包括 ...在本文中,我们已经详细介绍了如何使用 Java POI 实现 Excel 导入导出功能,包括读取和写入 Excel 文件。
- **手动转换**:可以使用Excel自身的“另存为”功能,选择XML数据或XML表格格式,将Excel文件导出为XML。 - **编程转换**:利用编程语言如Python(pandas库的to_xml函数)、VBA(Visual Basic for Applications)...
在Java编程环境中,导出Excel和XML是常见的数据交换任务,尤其在数据分析、报表生成以及数据存储方面。这里我们将深入探讨如何使用Java来处理这两种格式。 1. **Java与Excel交互**: - **Apache POI库**:这是Java...
本篇文章将详细讲解如何将XML文件导出为本地的Excel文件,这一过程涉及到数据解析、格式转换以及文件操作等多个关键知识点。 首先,我们需要了解XML的基本结构。XML文件由元素(Elements)、属性(Attributes)、...
首先,Java中最常用的库是Apache POI,这是一个用于读写Microsoft Office格式档案的开源库,特别适合处理Excel文件(.xlsx和.xls)。Apache POI提供了丰富的API,可以创建、修改和读取Excel工作簿、工作表、单元格等...
Java导出Excel是Java开发中常见的需求,尤其是在数据处理和报表生成方面。Apache POI库是Java领域中广泛使用的工具,它允许开发者读写Microsoft Office格式的文件,包括Excel(.xlsx和.xls)。本篇文章将深入讲解...
总的来说,这个压缩包提供了一个完整的解决方案,可以帮助开发者快速理解和实现Java中导出包含数据和图片的Excel文件功能。通过学习和理解这个示例,你可以进一步掌握Apache POI的使用,并将其应用到自己的项目中,...
Java实现POI导出Excel是Java开发者常用的一种技术,用于生成和操作Microsoft Office Excel文件。在Java中,Apache POI库提供了对微软Office文档格式的支持,包括读取和写入Excel文件。这篇博客文章...
Apache POI是Java中处理Microsoft Office格式文件(如Excel)的库,而iText则是用于创建和编辑PDF文档的库。 首先,我们需要导入必要的库。在项目中添加Apache POI和iText的依赖。如果你使用的是Maven,可以在pom....
在Java编程环境中,Apache POI库是一个非常实用的工具,用于读取、写入和修改Microsoft Office格式的文件,特别是Excel(.xlsx 和 .xls)文件。本教程将详细介绍如何使用JAVA POI库来创建一个包含图片的完整Excel...
在Java编程环境中,导出Excel是一项常见的任务,特别是在数据处理和报表生成的场景下。这里我们将深入探讨如何使用Java来实现Excel的导出功能。 首先,我们需要了解Java中用于处理Excel的主要库,Apache POI是一个...
Apache POI是一个强大的库,它允许开发者使用Java来读取、写入和修改Microsoft Office格式的文件,包括Excel(.xlsx, .xls)。本项目通过Apache POI实现了Excel的导入与导出功能,并在操作过程中加入了进度条展示,...
本篇文章将深入探讨如何使用Java来实现Excel文件的导入和导出,特别是针对".xls"和".xlsx"这两种常见格式。 1. **Apache POI库**: Apache POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,包括...
在Java编程环境下实现数据及图片导出至Excel文件是一项常见的任务,特别是在处理报表、数据分析等场景时。本文将详细解析如何通过Java代码来完成这一过程,包括如何创建Excel文档、写入数据、插入图片等关键步骤。 ...