Skip to content
This repository was archived by the owner on Apr 11, 2025. It is now read-only.

Commit 667d90a

Browse files
authored
Merge pull request #1 from mrdear/master
💥 modify workbook
2 parents 37dc6f1 + 474bdba commit 667d90a

File tree

2 files changed

+21
-4
lines changed

2 files changed

+21
-4
lines changed

src/main/java/io/github/biezhi/excel/plus/writer/ExcelWriter.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,17 @@
11
package io.github.biezhi.excel.plus.writer;
22

33
import io.github.biezhi.excel.plus.Constant;
4-
import io.github.biezhi.excel.plus.enums.ExcelType;
54
import io.github.biezhi.excel.plus.exception.ExcelException;
65
import io.github.biezhi.excel.plus.utils.ExcelUtils;
76
import io.github.biezhi.excel.plus.utils.Pair;
8-
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
9-
import org.apache.poi.ss.usermodel.*;
7+
8+
import org.apache.poi.ss.usermodel.Cell;
9+
import org.apache.poi.ss.usermodel.CellStyle;
10+
import org.apache.poi.ss.usermodel.Row;
11+
import org.apache.poi.ss.usermodel.Sheet;
12+
import org.apache.poi.ss.usermodel.Workbook;
13+
import org.apache.poi.ss.usermodel.WorkbookFactory;
1014
import org.apache.poi.ss.util.CellRangeAddress;
11-
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
1215

1316
import java.io.InputStream;
1417
import java.io.OutputStream;

src/main/java/io/github/biezhi/excel/plus/writer/Exporter.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
11
package io.github.biezhi.excel.plus.writer;
22

33
import io.github.biezhi.excel.plus.enums.ExcelType;
4+
5+
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
46
import org.apache.poi.ss.usermodel.CellStyle;
57
import org.apache.poi.ss.usermodel.Workbook;
8+
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
9+
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
610

711
import java.util.Collection;
812
import java.util.function.Function;
@@ -15,6 +19,8 @@
1519
*/
1620
public class Exporter<T> {
1721

22+
private static final Integer BIG_DATA_EXCEL_BOUNDARY = 10000;
23+
1824
private String headerTitle;
1925
private String templatePath;
2026
private ExcelType excelType;
@@ -100,4 +106,12 @@ public ExcelType getExcelType() {
100106
return excelType;
101107
}
102108

109+
110+
Workbook createWorkbook() {
111+
if (getExcelType() == ExcelType.XLSX) {
112+
return getData().size() > BIG_DATA_EXCEL_BOUNDARY ? new SXSSFWorkbook(): new XSSFWorkbook();
113+
}
114+
return new HSSFWorkbook();
115+
}
116+
103117
}

0 commit comments

Comments
 (0)