编写Excel文件jdbctemplate

时间:2016-03-12 00:25:40

标签: java sql excel jdbctemplate

这似乎是一个微不足道的问题,但我使用的是jdbctemplate,需要将数据导出到excel文件。不确定我是否可以使用CSVWriter,因为jdbctemplate没有返回结果集的方法,我需要标题。我不想硬编码代码中的标题,因为它们会改变。我只是想从db(以及标题)转储数据。

1 个答案:

答案 0 :(得分:0)

要访问ResultSet的元数据,您可以使用RowMapperRowCallbackHandlerResultSetExtractor。要为Excel编写文件,可以使用Apache POI。例如:

Workbook workbook = new XSSFWorkbook();
Sheet sheet = workbook.createSheet("sheetname");
jdbcTemplate.query("select * from xyz", new RowCallbackHandler() {
    public void processRow(ResultSet rs) throws SQLException {
        String columnName = rs.getMetaData().getColumnName(column);
        String columnValue = rs.getString(column);

        Row row = sheet.createRow(sheetRow);
        row.createCell(column).setCellValue(columnValue);
    }
});

try (FileOutputStream out = new FileOutputStream(new File("export.xlsx"))) {
    workbook.write(out);
}

还要检查这些接口的实现类。