gpt4 book ai didi

java - 如何将 JDBC 模板结果导出到 Excel 工作表

转载 作者:行者123 更新时间:2023-12-02 04:30:32 24 4
gpt4 key购买 nike

PersonDAO.java:

public List<Map<String, Object>> searchPersons(Person person)  
String sql = "SELECT * FROM PERSON";
List<Map<String, Object>> result = jdbcTemplate.queryForList(sql);
return result;
}

如何将结果中的数据转换为Excel表格下载。

尝试使用 Apache POI:

Workbook workbook = new HSSFWorkbook();
Sheet sheet = workbook.createSheet("Person Detail");

Object[][] persons = {
{"PersonNAmeA", 1001},
{"PersonNAmeB", 1002},
{"PersonNAmeC", 1003},
};

int rowCount = 0;

for (Object[] person : persona) {
Row row = sheet.createRow(++rowCount);

int columnCount = 0;

for (Object field : person) {
Cell cell = row.createCell(++columnCount);
if (field instanceof String) {
cell.setCellValue((String) field);
} else if (field instanceof Integer) {
cell.setCellValue((Integer) field);
}
}

}


try (FileOutputStream outputStream = new FileOutputStream("PersonDetail.xlsx")) {
workbook.write(outputStream);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

没有错误,但 PersonDetail.xlsx 尚未创建。代码中可能有什么问题。

任何人都可以帮忙解决这个问题吗?谢谢

最佳答案

您可以使用Apache POIJexcelAPI 。后者是更轻量级的解决方案。这是一个很好的tutorial如何生成 Excel 工作表。

您甚至可以生成 HTML 表格并使用 HTTP header 提供该表格:

Content-Type: application/msexcel
Content-Disposition: attachment; filename=NAMEOFWORKSHEET.xls

打开后,浏览器会提示将页面另存为Excel文档。

How to format data in html

如果您不需要格式化数据,请考虑写入纯 CSV 流。

关于java - 如何将 JDBC 模板结果导出到 Excel 工作表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31529695/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com