MySQL export Excel 30-100w
工具导出excel2007 5-6分钟
导出SQL,1分钟左右, 127MB
系统测试
2024-07-26 15:54:45 : start......
2024-07-26 15:57:32 : query completed.
2024-07-26 15:57:33 : create sheet.
2024-07-26 15:57:33 : insert data.
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Arrays.java:3236)
at java.io.ByteArrayOutputStream.grow(ByteArrayOutputStream.java:118)
at java.io.ByteArrayOutputStream.ensureCapacity(ByteArrayOutputStream.java:93)
at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:153)
at org.apache.poi.openxml4j.opc.internal.MemoryPackagePartOutputStream.write(MemoryPackagePartOutputStream.java:88)
at org.apache.xmlbeans.impl.store.Cursor._save(Cursor.java:590)
at org.apache.xmlbeans.impl.store.Cursor.save(Cursor.java:2544)
at org.apache.xmlbeans.impl.values.XmlObjectBase.save(XmlObjectBase.java:223)
at org.apache.poi.xssf.usermodel.XSSFSheet.write(XSSFSheet.java:3072)
at org.apache.poi.xssf.usermodel.XSSFSheet.commit(XSSFSheet.java:3027)
at org.apache.poi.POIXMLDocumentPart.onSave(POIXMLDocumentPart.java:332)
at org.apache.poi.POIXMLDocumentPart.onSave(POIXMLDocumentPart.java:336)
at org.apache.poi.POIXMLDocument.write(POIXMLDocument.java:195)
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
//SXSSF控制内存中保存行数,其他行写入磁盘。大大减少了内存的使用。
SXSSFWorkbook workbook = new SXSSFWorkbook(1000);
Sheet sheet = workbook.createSheet("Data");