相关疑难解决方法(0)

使用POI将大型结果集写入Excel文件

这是一种内联w/将大型ResultSet写入文件但有问题的文件是Excel文件.

我正在使用Apache POI库编写一个Excel文件,其中包含从ResultSet对象检索到的大型数据集.数据范围从几千条记录到大约一百万条; 不确定这如何转换为Excel格式的文件系统字节.

以下是我编写的测试代码,用于检查编写如此大的结果集所花费的时间以及CPU和内存的性能影响.

protected void writeResultsetToExcelFile(ResultSet rs, int numSheets, String fileNameAndPath) throws Exception {

    BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(fileNameAndPath));
    int numColumns = rs.getMetaData().getColumnCount();

    Workbook wb = ExcelFileUtil.createExcelWorkBook(true, numSheets);
    Row heading = wb.getSheetAt(0).createRow(1);

    ResultSetMetaData rsmd = rs.getMetaData();

    for(int x = 0; x < numColumns; x++) {
        Cell cell = heading.createCell(x+1);
        cell.setCellValue(rsmd.getColumnLabel(x+1));
    }

    int rowNumber = 2;
    int sheetNumber = 0;

    while(rs.next()) {

        if(rowNumber == 65001) {
            log("Sheet " + sheetNumber + "written; moving onto to sheet …
Run Code Online (Sandbox Code Playgroud)

java jdbc apache-poi

33
推荐指数
2
解决办法
11万
查看次数

标签 统计

apache-poi ×1

java ×1

jdbc ×1