2017-03-06 145 views
1

我正在使用Apache poi,我讀了一些xlsx文件,處理它,然後以xlsx格式導出它們。但是現在我要求導出格式爲XLS(這是爲了支持舊設備)。有沒有簡單的方法將代碼生成的xlsx文件轉換爲xls?Apache poi XLSX到XLS

所有的過程都是用XSSF實現的。

在此先感謝。

+0

可能這就是你要找的, http://stackoverflow.com/questions/20049922/java-poi-api-convert-from-xlsx-to-xls –

回答

2

我同意centic答案,但我想添加幾行代碼。

你說你正在使用XSSF實現。

所以,對於要保存做以下修改工作簿: 變化XSSFWorkbook x = new XSSFWorkbook();Workbook x = new HSSFWorkbook(); 哪裏工作簿是來自org.apache.poi.ss.usermodel.Workbook;

進口同樣 變化XSSFRow實例從

XSSFRow r = newXSSF(); 

Row r = new HSSFRow(); 並從org.apache.poi.ss.usermodel.Row;導入行

與之相同,將Cell實例更改爲ss.usermodel包。

最後用.xls擴展名保存HSSF工作簿。

2

您需要切換到「ss」實現,該實現允許透明地使用HSSF(= XLS)和XSSF(= XSLX),參見http://poi.apache.org/spreadsheet/converting.html瞭解原始HSSF - > SS開關的一些細節,通過其他方式來支持它。

然後,只需要HSSFWorkbook/XSSFWorkbook的兩個構造函數來決定要生成的兩種格式中的哪一種。