用 Apache POI 将JTable表格数据导出生成Excel文件,jar包附件中!
import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import javax.swing.JFileChooser; import javax.swing.JTable; import javax.swing.filechooser.FileFilter; import javax.swing.table.TableModel; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.apache.poi.hssf.usermodel.HSSFFont; import org.apache.poi.hssf.usermodel.HSSFRichTextString; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.hssf.util.HSSFColor; public class ExportExcel { JTable table; FileOutputStream fos; JFileChooser jfc = new JFileChooser(); public ExportExcel(JTable table) { this.table = table; jfc.addChoosableFileFilter(new FileFilter() { public boolean accept(File file) { return (file.getName().indexOf("xls") != -1); } public String getDescription() { return "Excel"; } }); jfc.showSaveDialog(null); File file = jfc.getSelectedFile(); try { this.fos = new FileOutputStream(file + ".xls"); } catch (FileNotFoundException ex) { ex.printStackTrace(); } } public void export() { HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet hs = wb.createSheet(); TableModel tm = table.getModel(); int row = tm.getRowCount(); int cloumn = tm.getColumnCount(); // System.out.println("row " + row + " column " + cloumn); HSSFCellStyle style = wb.createCellStyle(); style.setBorderBottom(HSSFCellStyle.BORDER_THIN); style.setBorderLeft(HSSFCellStyle.BORDER_THIN); style.setBorderRight(HSSFCellStyle.BORDER_THIN); style.setBorderTop(HSSFCellStyle.BORDER_THIN); style.setFillForegroundColor(HSSFColor.LIGHT_GREEN.index); style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); HSSFFont font = wb.createFont(); font.setFontHeightInPoints((short) 11); style.setFont(font); HSSFCellStyle style1 = wb.createCellStyle(); style1.setBorderBottom(HSSFCellStyle.BORDER_THIN); style1.setBorderLeft(HSSFCellStyle.BORDER_THIN); style1.setBorderRight(HSSFCellStyle.BORDER_THIN); style1.setBorderTop(HSSFCellStyle.BORDER_THIN); style1.setFillForegroundColor(HSSFColor.ORANGE.index); style1.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); HSSFFont font1 = wb.createFont(); font1.setFontHeightInPoints((short) 15); font1.setBoldweight((short) 700); style1.setFont(font); for (int i = 0; i < row + 1; i++) { HSSFRow hr = hs.createRow(i); for (int j = 0; j < cloumn; j++) { if (i == 0) { String value = tm.getColumnName(j); // System.out.println("value " + value); int len = value.length(); hs.setColumnWidth((short) j, (short) (len * 400)); HSSFRichTextString srts = new HSSFRichTextString(value); HSSFCell hc = hr.createCell((short) j); hc.setEncoding((short) 1); hc.setCellStyle(style1); hc.setCellValue(srts); } else { System.out.println("vlue " + tm.getValueAt(i - 1, j)); if (tm.getValueAt(i - 1, j) != null) { String value = tm.getValueAt(i - 1, j).toString(); HSSFRichTextString srts = new HSSFRichTextString(value); HSSFCell hc = hr.createCell((short) j); hc.setEncoding((short) 1); hc.setCellStyle(style); if (value.equals("") || value == null) { hc.setCellValue(new HSSFRichTextString("")); } else { hc.setCellValue(srts); } } } } } try { wb.write(fos); fos.close(); } catch (IOException ex) { ex.printStackTrace(); } } }
使用:
public JTable table;........................
传个JTable对象即可。
ExportExcel exportExcel = new ExportExcel(table);
exportExcel.export();
相关推荐
在Java编程环境中,`JTable`是Swing库中用于展示二维表格数据的组件,而将`JTable`中的数据导出到Excel是一种常见的需求,特别是在数据处理和报告生成的场景下。本教程将深入讲解如何实现这个功能,并提供一个名为`...
本资源"JTable数据导出到Excel.rar"提供了一个实现将`JTable`中的数据导出到Microsoft Excel文件的方法。下面我们将详细探讨`JTable`与Excel数据交换的相关知识点。 1. **JTable基本概念** `JTable`是Java Swing中...
根据提供的文件信息,我们可以总结出以下关键知识点,主要聚焦于如何使用Java编程语言结合Apache POI库实现将JTable中的内容导出至Excel文件的功能。 ### 关键知识点 #### 1. JTable简介 - **定义**:`JTable`是...
总的来说,通过Java和Apache POI库,我们可以方便地将数据导出为Excel文件,无论是简单的二维数组还是复杂的数据结构,都能有效地转换和呈现。这为数据交换、报告生成和分析提供了极大的便利。在实际应用中,根据...
2. **创建工作簿对象**:使用Apache POI库创建一个`HSSFWorkbook`对象,它是用于表示Excel工作簿的主要类。 3. **循环创建工作表**:遍历每个工作表,使用`createSheet()`方法创建新的工作表,并将数据写入其中。 4....
总结来说,Java导出Excel涉及的关键技术点包括对Excel文件格式的理解,使用Java标准API或第三方库(如Apache POI)操作Excel对象,以及数据处理和格式化。通过阅读提供的博客和源代码,开发者可以学习如何在不依赖...
### JAVA 导出EXCEL知识点解析 #### 一、知识点概览 本篇文章将详细介绍如何在Java中实现从一个`List`列表数据结合...通过本教程的学习,开发者可以轻松地将数据导出到Excel文件中,从而便于数据的进一步分析和处理。
为了快速导出大量数据,Java通常会使用Apache POI库,它允许直接操作Excel文件格式(如`.xlsx`的OOXML和`.xls`的老式BIFF格式)。通过批处理写入操作,避免频繁的磁盘IO操作,可以显著提高性能。例如,使用`...
要将JTable的数据导出为Excel格式,可以使用Apache POI库。创建一个HSSFWorkbook对象,然后使用HSSFSheet创建工作表,并遍历JTable的模型,将数据写入每个单元格。 7. **性能优化** 如果表格数据量很大,需要注意...
关于Excel表与JTable之间的转换,通常可以通过读取Excel文件(例如使用Apache POI库)并将数据加载到`TableModel`,或者将JTable的数据导出到Excel文件。这样,可以在Java应用程序中展示和编辑Excel数据,同时保持与...
这个系统提供了数据的增删改查功能,并且具备将订单数据导出为Excel表格的能力,方便进行数据分析和存储。 Java Swing是Java提供的一种图形用户界面(GUI)工具包,用于构建桌面应用。它允许开发者创建美观且功能...
使用POI库,程序可以生成新的Excel工作簿,将计算结果填充到各个单元格中,再以文件形式保存到用户的指定位置。 本地TXT数据持久化是另一个实用特性。在Java中,我们可以通过File类和BufferedReader/Writter类实现...
开发者可能使用 `FileOutputStream` 和 `ObjectOutputStream` 来序列化对象(如统计结果)并写入文件,或者使用 `CSVWriter` 来写入结构化的数据文件。 5. **热点统计图**: 热点图通常用来表示数据的密集程度或...
3. **Apache POI**: 虽然POI主要用来处理Microsoft Office格式的文件,但它也可以用于读取和写入CSV数据,这在数据可视化时非常有用,可以将数据导出为Excel表格,便于分析和图表制作。 4. **Java Swing**: Swing是...
- 使用Java的Apache POI库与Swing结合,可以实现对Excel文件的读写。导入功能允许用户上传Excel文件批量导入学生数据,导出则将系统中的学生数据导出为Excel格式,方便备份和共享。 3. **事件处理**: - Java ...
这些功能的实现可能依赖于Java的Runtime类来执行系统命令,或者使用Apache POI库处理Microsoft Office文档,以及使用JEditorPane或WebView来实现简单的网页浏览。 “界面皮肤有几种,随意切换,界面美观”意味着...
5. **报表生成**:将成绩数据导出为Excel或PDF格式,方便打印和分享。这需要用到第三方库,如Apache POI处理Excel,iText或Apache FOP处理PDF。 6. **权限控制**:根据用户角色(如教师、管理员)设定不同操作权限...
5. 报表生成:利用Java的iText或Apache POI库,将学生数据导出为PDF或Excel格式。 在开发过程中,你还会接触到Java的事件处理机制,例如事件监听器接口,如ActionListener和ItemListener,它们负责响应用户的操作,...
- **报表生成**:可以使用Apache POI库生成Excel报表,导出图书清单。 - **PDF输出**:利用iText库,将图书信息转换为PDF格式,便于打印或存储。 7. **二维码功能** - **二维码生成**:引入ZXing库,生成包含...
【标签】"JAVA"表明了该程序的开发语言,Java具有丰富的类库和框架支持,能够轻松实现各种功能,如Swing用于构建GUI,JUnit用于单元测试,以及可能使用到的Apache POI库来处理Excel文件,便于导入和导出成绩数据。...