Excel导出在本地工作,字段在服务器上运行时隐藏

时间:2012-10-05 11:25:46

标签: excel apache-poi smartgwt

好的,所以我有一个SmartGWT网络应用程序,我在列表网格中运行一些报告。

我使用listgrid.exportclientdata()按照示例使用Smartgwt内置导出导出到excel;

问题在于:

- 在本地运行时,一切正常,我可以打开XLSX文件并查看所有数据。

- 从服务器运行时,包含数据的列将被隐藏!如果我在Excel中手动执行“取消隐藏”操作,我可以看到列......

我的本​​地环境是Mac OSX,Mountain Lion(也曾尝试过),运行Sun的Java。 prod服务器是运行OpenJDK的Debian。

不确定这是否与它有关,我不知道如何解决它...在两种环境中在Tomcat6上运行我的webapp。

2 个答案:

答案 0 :(得分:2)

对于其他人,搜索stackoverflow void以获取黑暗中的谜语答案:

这是由于某些字体在OpenJDK中不可用,没有任何错误记录在任何地方......

我也在我的Debian上切换到Sun的JDK,Excel文件现在打开并正常显示。

答案 1 :(得分:1)

面对与this POI Bug相关的Java Bug时也会发生这种情况。

如果将Font更改为除Calibri之外的其他内容或使用高于7u21的jre,则应解决此问题。 您还可以通过使用此类代码来缓解问题并避免列完全崩溃 sheet.autoSizeColumn(x); if (sheet.getColumnWidth(x) == 0) { // autosize failed use MIN_WIDTH sheet.setColumnWidth(x, MIN_WIDTH); }