2013-02-01 78 views
2

我使用Spring 3 AbstractExcelView使用出口 - 到 - Excel的功能,以下載文件到.xls格式,但是當我的行大於65536時,它拋出一個異常:如何將HSSFWorkbook對象轉換爲XSSFWorkbook?

無效的行號(65536)外允許範圍(0..65535)

我想用XSSFworkbook創建.xlsx文件,但我所覆蓋的AbstractExcelView的方法,

protected void buildExcelDocument(Map<String, Object> model, 
      HSSFWorkbook wb, HttpServletRequest request, 
      HttpServletResponse response) throws Exception {} 

只需要HSSFWorkbook作爲參數,我想轉換成XSSFWorkbook對象來創建.xlsx格式文件。

回答

2

Apache POI guide to converting existing HSSF Usermodel code to SS Usermodel (for XSSF and HSSF)包括你問

這是可能的非常情況下,與工作量相當小,可以將代碼轉換爲透過新的通用界面透明地處理HSSF(.xls)和XSSF(.xlsx)。

對於您的具體情況,您需要獲取spring模塊的源代碼,按照指南中的說明進行轉換,然後提供補丁。

+0

我試過它不工作 –

+0

我不確定你試過什麼,但如果你按照說明更新你的代碼,它會很好!你確實需要改變所有的代碼來支持XSSF,如果你只改變一半使用SS接口,那麼它將繼續爲HSSF工作,但XSSF不會 – Gagravarr