0

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

根据使用 listgrid.exportclientdata() 的示例,我使用 Smartgwt 内置导出导出到 excel;

这是问题:

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

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

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

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

4

2 回答 2

2

对于其他人,在 stackoverflow void 中搜索黑暗谜题的答案:

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

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

于 2013-01-17T22:18:09.313 回答
1

当面对这个似乎与Java Bug相关的POI Bug时,也会发生这种情况。

如果是这种情况,将字体更改为 Calibri 以外的字体或使用 7u21 以上的 jre 应该可以解决问题。您还可以通过使用这样的代码来缓解问题并避免列完全折叠 sheet.autoSizeColumn(x); if (sheet.getColumnWidth(x) == 0) { // autosize failed use MIN_WIDTH sheet.setColumnWidth(x, MIN_WIDTH); }

于 2014-09-14T19:42:32.403 回答