2012-09-18 87 views
1

我想使用瀏覽器將60列以上的數據從數據庫導出到客戶端機器的200000行以上。我正在使用Servlet和POI 3 .8版本的jar和下面的代碼。使用POI導出到XLS

ServletOutputStream servletOutputStreamObj = response.getOutputStream(); 
HSSFWorkbook workBook = new HSSFWorkbook(); 
response.setContentType("application/vnd.ms-excel"); 
response.setHeader("Content-Disposition", "attachment; filename=\"" + strFileName + ".xls\""); 
workBook.write(servletOutputStreamObj); 

此代碼工作正常,最多可達65535行。 如何製作更多的記錄。 (xls/xlsx兩種格式均可)。

任何人都可以幫助我嗎?

+0

*「超過2行」* 2lack是什麼意思? –

+0

您是否一次發送含有這些記錄的Excel表格?您可以提供像分頁功能,以便用戶可以更舒適地查看數據 – UVM

+0

它的要求將所有數據從表格導出到excel .... – Akshay

回答

1

您使用的是HSSFWorkbook對象,創建一個Excel XLS文件,它僅限於65,535行。

相反,您應該使用XSSFWorkbook創建一個Excel xlsx文件,該文件又支持1,048,576行。在這種情況下,您還應該更改ContentType和文件擴展名。

如果您使用XSSFWorkbook的內存不足,請嘗試SXSSFWorkbook

這裏是background到Apache POI網站的3個類。