JTable 导出Excel
时间: 2023-08-11 22:06:11 浏览: 103
要将 JTable 导出为 Excel,可以使用 Apache POI 库。以下是一个简单的代码示例:
```java
import java.io.*;
import javax.swing.JTable;
import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.ss.usermodel.*;
public class ExcelExporter {
public static void exportTable(JTable table, File file) throws IOException {
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = workbook.createSheet("Sheet1");
HSSFRow header = sheet.createRow(0);
for (int i = 0; i < table.getColumnCount(); i++) {
header.createCell(i).setCellValue(table.getColumnName(i));
}
for (int i = 0; i < table.getRowCount(); i++) {
HSSFRow row = sheet.createRow(i + 1);
for (int j = 0; j < table.getColumnCount(); j++) {
row.createCell(j).setCellValue(table.getValueAt(i, j).toString());
}
}
FileOutputStream fos = new FileOutputStream(file);
workbook.write(fos);
fos.close();
}
}
```
在上面的代码中,我们使用 HSSFWorkbook 类创建一个新的 Excel 工作簿,并使用 createSheet() 方法创建一个名为 "Sheet1" 的新工作表。然后,我们创建一个包含表头的 HSSFRow,并将其添加到工作表中。接下来,我们遍历 JTable 中的所有行和列,并使用 createCell() 方法将单元格值写入 HSSFRow 中。最后,我们使用 FileOutputStream 将工作簿写入文件,并关闭流。
要使用此代码,只需在需要导出 JTable 的地方调用 exportTable() 方法,并传递 JTable 和要导出到的文件。例如:
```java
JTable table = new JTable(data, headers);
File file = new File("table.xls");
ExcelExporter.exportTable(table, file);
```
在上面的代码中,JTable 使用 data 和 headers 数组初始化,这些数组包含表格数据和表头信息。文件名为 "table.xls",它将保存在当前工作目录中。
阅读全文