javafx使用excel临时导出
时间: 2023-11-29 22:41:38 浏览: 31
在JavaFX中,您可以使用Apache POI库来处理Excel文件。下面是一个简单的示例,展示了如何使用JavaFX和Apache POI将数据导出到Excel:
```java
import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Button;import javafx.scene.layout.VBox;
import javafx.stage.FileChooser;
import javafx.stage.Stage;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
public class ExcelExportApp extends Application {
private static final String FILE_PATH = "data.xlsx";
@Override
public void start(Stage primaryStage) {
Button exportButton = new Button("导出到Excel");
exportButton.setOnAction(e -> {
try {
exportToExcel();
} catch (IOException ex) {
ex.printStackTrace();
}
});
VBox root = new VBox(10);
root.setPadding(new Insets(10));
root.getChildren().add(exportButton);
primaryStage.setScene(new Scene(root, 200, 100));
primaryStage.setTitle("Excel导出示例");
primaryStage.show();
}
private void exportToExcel() throws IOException {
Workbook workbook = new XSSFWorkbook();
Sheet sheet = workbook.createSheet("数据");
Row headerRow = sheet.createRow(0);
headerRow.createCell(0).setCellValue("姓名");
headerRow.createCell(1).setCellValue("年龄");
Row dataRow1 = sheet.createRow(1);
dataRow1.createCell(0).setCellValue("张三");
dataRow1.createCell(1).setCellValue(25);
Row dataRow2 = sheet.createRow(2);
dataRow2.createCell(0).setCellValue("李四");
dataRow2.createCell(1).setCellValue(30);
FileChooser fileChooser = new FileChooser();
fileChooser.setInitialFileName(FILE_PATH);
File file = fileChooser.showSaveDialog(null);
if (file != null) {
try (FileOutputStream fos = new FileOutputStream(file)) {
workbook.write(fos);
}
}
workbook.close();
}
public static void main(String[] args) {
launch(args);
}
}
```
上述代码实现了一个简单的JavaFX应用程序,当用户点击"导出到Excel"按钮时,将数据导出到Excel文件。您可以根据自己的需求修改数据和文件保存的路径。