小编Mar*_*ess的帖子

Apache POI超出了GC开销限制

我有13个.xlsx文件,每个文件大约有1000行.现在我想用一张表将它合并到一个.xlsx文件中.我正在使用此处的代码 http://blog.sodhanalibrary.com/2014/11/merge-excel-files-using-java.html#.Vi9ns36rSUk.

这是我的代码(几个更改,addSheet方法不变)

try {
        FileInputStream excellFile1 = new FileInputStream(new File("tmp_testOut1000.xlsx"));
        XSSFWorkbook workbook1 = new XSSFWorkbook(excellFile1);
        XSSFSheet sheet1 = workbook1.getSheetAt(0);

        for(int i = 2; i < 14; i++){
            FileInputStream excellFile2 = new FileInputStream(new File("tmp_testOut" + i + "000.xlsx"));
            XSSFWorkbook workbook2 = new XSSFWorkbook(excellFile2);
            XSSFSheet sheet2 = workbook2.getSheetAt(0);
            System.out.println("add " + i);
            addSheet(sheet1, sheet2);
        }

        excellFile1.close();

        // save merged file
        System.out.println("merging");
        File mergedFile = new File("merged.xlsx");
        if (!mergedFile.exists()) {
            mergedFile.createNewFile();
        }
        FileOutputStream out = new FileOutputStream(mergedFile);
        System.out.println("write");
        workbook1.write(out);
        out.close();
        System.out.println("Files …
Run Code Online (Sandbox Code Playgroud)

java excel garbage-collection apache-poi

8
推荐指数
2
解决办法
1万
查看次数

标签 统计

apache-poi ×1

excel ×1

garbage-collection ×1

java ×1