javafx tableview导出excel
时间: 2025-01-22 16:10:21 浏览: 50
### 将JavaFX TableView数据导出至Excel
为了实现将JavaFX `TableView`中的数据导出到Excel文件的功能,可以采用Apache POI库来创建和操作Excel文档。以下是具体方法:
#### 使用Apache POI库准备环境
首先,在项目中引入Apache POI依赖项。如果使用Maven构建工具,则可以在pom.xml文件里添加如下配置[^1]:
```xml
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>5.2.3</version>
</dependency>
```
#### 编写导出逻辑代码
下面是一段用于导出`TableView`内所有记录到Excel的工作示例程序片段:
```java
import javafx.collections.ObservableList;
import javafx.scene.control.TableView;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.FileOutputStream;
import java.io.IOException;
public class ExportToExcel {
public void export(TableView<MyDataType> tableView, String filePath) throws IOException {
Workbook workbook = new XSSFWorkbook();
Sheet sheet = workbook.createSheet("Data");
// 创建表头
Row headerRow = sheet.createRow(0);
ObservableList<String> columnNames = FXCollections.observableArrayList(
"Column1", "Column2", "Column3"); // 替换成实际列名
int colNum = 0;
for (String columnName : columnNames){
Cell cell = headerRow.createCell(colNum++);
cell.setCellValue(columnName);
}
// 填充表格内容
int rowNum = 1;
for(MyDataType item : tableView.getItems()){
Row row = sheet.createRow(rowNum++);
// 这里的属性访问应该对应MyDataType类的实际字段获取方式
row.createCell(0).setCellValue(item.getProperty1());
row.createCell(1).setCellValue(item.getProperty2());
row.createCell(2).setCellValue(item.getProperty3());
}
try(FileOutputStream fileOut = new FileOutputStream(filePath)){
workbook.write(fileOut);
}
workbook.close();
}
}
```
这段代码展示了如何遍历`TableView`组件内的每一行,并将其转换成相应的Excel单元格值并保存下来。
阅读全文
相关推荐



















