Pentaho 7.1 和 Saiku 3.11 错误导出到 xls
Posted
技术标签:
【中文标题】Pentaho 7.1 和 Saiku 3.11 错误导出到 xls【英文标题】:Pentaho 7.1 and Saiku 3.11 error export to xls 【发布时间】:2017-07-27 17:57:29 【问题描述】:我正在尝试将查询从 saiku 导出到 xlsx。我在 catalina.out 遇到以下错误:
2017-07-20 17:37:00,034 错误 [org.saiku.web.rest.resources.Query2Resource] 无法获取查询的 excel (410D8A59-5C67-0D09-B32F-46998228997D) java.lang.IllegalArgumentException: 合并区域 A1 必须包含 2 个或更多单元格
屏幕上的这条信息:
A página da web em http://159.203.87.129:8080/pentaho/plugin/saiku/api/api/query/E2176C55-9B86-8F7B-99DB-3C8E26674EFF/export/xls/flattened pode estar temporariamente indisponível ou pode ter sido movida Permanentemente para um novo endereço da web。
自从我在 saiku 中升级到 pentaho 7.1 版和 3.11.1 版后,这两个版本都在社区版本中开始。
【问题讨论】:
【参考方案1】:Saiku 使用库 poi 和 poi-ooxml 进行 Excel 导出。这些库不在 saiku/lib/ 中,而是在 tomcat/webapps/pentaho/WEB-INF/lib/ 中(因此它们取决于 Pentaho 版本)。
其实Pentaho 6有poi-3.12.jar和poi-ooxml-3.12.jar,还有Pentaho 7 有 poi-3.15.jar 和 poi-ooxml-3.15.jar。后一个版本的 poi 在合并单元格以进行 Excel 导出时实施安全检查。因此,当您恰好选择 1 个度量、1 个列上的维度和 1 个行上的维度时(这会在渲染表的顶角为您提供 2 个灰色单元格),您将系统地出现此错误。
一种解决方法是从 Pentaho 6 中删除 poi 库 3.15 并替换为 poi 库 3.12。当然,这不是最好的方法(这涉及在 Saiku 中重写 Java 代码) .
【讨论】:
【参考方案2】:我认为他们已经在 8.1 版本中解决了这个问题,但在 7.1 中,由于库错误,您无法导出包含多列的交叉表。
【讨论】:
以上是关于Pentaho 7.1 和 Saiku 3.11 错误导出到 xls的主要内容,如果未能解决你的问题,请参考以下文章
Saiku:如何获得 Saiku Pentaho 插件的许可证?
在 Pentaho 上使用 Saiku 插件创建一个新的立方体