首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将本地查询的结果导出到Excel JPA

将本地查询的结果导出到Excel JPA
EN

Stack Overflow用户
提问于 2021-01-13 22:35:40
回答 1查看 145关注 0票数 1

在我的web应用程序中,我需要将MySQL原生查询结果导出到Excel文件中。我事先不知道query中有多少列,也不能为它创建任何预定义的类。

我搜索了很多,但没有找到任何可以将任何MySQL原生查询结果导出到Excel文件的东西。

有人能告诉我怎样才能做到这一点吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-14 01:55:21

您可以使用apache-poi库。您的代码将如下所示:

代码语言:javascript
复制
public class ExcelFile {

    private final List<Object[]> data;
    private final String filePath;

    public ExcelFile(final List<Object[]> data, final String filePath) {
        this.data = data;
        this.filePath = filePath;
    }

    public void export() {
        try (XSSFWorkbook workbook = new XSSFWorkbook()) {
            XSSFSheet sheet = workbook.createSheet();
            fillSheet(sheet);
            workbook.write(new FileOutputStream(filePath));
        } catch (IOException ignore) {
            ignore.printStackTrace();
        }
    }

    private void fillSheet(final XSSFSheet sheet) {
        for (int i = 0; i < data.size(); i++) {
            XSSFRow excelRow = sheet.createRow(i);
            Object[] dbRow = data.get(i);
            fillRow(excelRow, dbRow);
        }
    }

    private void fillRow(final XSSFRow row, final Object[] dbRow) {
        for (int j = 0; j < dbRow.length; j++) {
            XSSFCell cell = row.createCell(j);
            cell.setCellValue(String.valueOf(dbRow[j]));
        }
    }
}

Maven依赖关系:

代码语言:javascript
复制
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>4.1.2</version>
</dependency>
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>4.1.2</version>
</dependency>

完整示例:here

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65704046

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档