2017-03-06 142 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的两个构造函数来决定要生成的两种格式中的哪一种。