这是一种内联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)