Java生成xlsx格式的excel文件

时间:2023-03-09 12:47:09
Java生成xlsx格式的excel文件

xlsx格式的写入的数据量据说有百万级,结合实际需要该格式。

public static void main(String[] args) throws Exception {
OutputStream outputStreamExcel = null;
File tmpFile = new File("E:" + File.separator + "file_route" + File.separator + "detail.xlsx");
if (!tmpFile.getParentFile().exists()) {
tmpFile.getParentFile().mkdirs();//创建目录
}
if(!tmpFile.exists()) {
tmpFile.createNewFile();//创建文件
}
Workbook workbook = null;
workbook = new XSSFWorkbook();//创建Workbook对象(excel的文档对象)
Sheet sheet1 = workbook.createSheet("Sheet1");// 建建sheet对象(excel的表单)
// 设置单元格字体
Font headerFont = workbook.createFont(); // 字体
headerFont.setFontHeightInPoints((short)14);
headerFont.setFontName("黑体");
// 设置单元格边框及颜色
CellStyle style = workbook.createCellStyle();
style.setBorderBottom((short)1);
style.setBorderLeft((short)1);
style.setBorderRight((short)1);
style.setBorderTop((short)1);
style.setWrapText(true); Row row = sheet1.createRow(0);
row.createCell(0).setCellValue("序号");
row.createCell(1).setCellValue("编号");
row.createCell(2).setCellValue("支付订单号");
row.createCell(3).setCellValue("商品订单号"); Row row1 = sheet1.createRow(1);
row1.createCell(0).setCellValue("10001");
row1.createCell(1).setCellValue("90001");
row1.createCell(2).setCellValue("1000000000012");
row1.createCell(3).setCellValue("9000000000099"); outputStreamExcel = new FileOutputStream(tmpFile);
workbook.write(outputStreamExcel);
outputStreamExcel.flush();
outputStreamExcel.close();
}

导入相应的jar包后,直接运行即可。