将JavaFX中的表格上传到Excel工作表可以通过以下步骤完成:
以下是一个简单的示例代码,演示了如何将JavaFX中的表格上传到Excel工作表:
import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.scene.Scene;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.stage.Stage;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.FileOutputStream;
import java.io.IOException;
public class JavaFXToExcel extends Application {
private TableView<Person> tableView;
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
// 创建表格和填充数据(示例数据)
tableView = new TableView<>();
TableColumn<Person, String> nameColumn = new TableColumn<>("Name");
nameColumn.setCellValueFactory(new PropertyValueFactory<>("name"));
TableColumn<Person, Integer> ageColumn = new TableColumn<>("Age");
ageColumn.setCellValueFactory(new PropertyValueFactory<>("age"));
tableView.getColumns().addAll(nameColumn, ageColumn);
ObservableList<Person> data = FXCollections.observableArrayList(
new Person("John", 25),
new Person("Jane", 30),
new Person("Bob", 35)
);
tableView.setItems(data);
// 创建Excel工作簿和工作表
Workbook workbook = new XSSFWorkbook();
Sheet sheet = workbook.createSheet("Sheet1");
// 写入表头
Row headerRow = sheet.createRow(0);
headerRow.createCell(0).setCellValue("Name");
headerRow.createCell(1).setCellValue("Age");
// 写入数据
for (int i = 0; i < data.size(); i++) {
Row row = sheet.createRow(i + 1);
row.createCell(0).setCellValue(data.get(i).getName());
row.createCell(1).setCellValue(data.get(i).getAge());
}
// 保存Excel文件
try (FileOutputStream fileOut = new FileOutputStream("data.xlsx")) {
workbook.write(fileOut);
} catch (IOException e) {
e.printStackTrace();
}
primaryStage.setScene(new Scene(tableView));
primaryStage.show();
}
public static class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
}
在上述示例代码中,我们首先创建了一个JavaFX的表格,并填充了一些示例数据。然后,使用Apache POI库创建了一个新的Excel工作簿和工作表,并将表格中的数据写入到Excel工作表中。最后,将Excel文件保存到本地磁盘上。
请注意,这只是一个简单的示例,实际应用中可能需要根据具体需求进行更多的定制和处理。另外,Apache POI库还提供了许多其他功能,如读取和修改现有的Excel文件等,可以根据具体需求进行使用。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云