如何将JXLS从版本1迁移到2

JXLS 2没有向后兼容版本1.没有升级说明,虽然我可以使用版本二的东西,我有两个问题。

  • 版本1不需要使用评论标签,但现在我无法得到没有它们的输出。

  • Java代码必须指定要写入结果的工作表位置,在版本1中,输出写在不需要在Excel和Java代码中重复模板设置的模板之上。

如果我找不到这两个问题的解决方法,我将不得不去改变每一个模板来使用评论。 但更糟的是,我还必须让我的java代码知道模板工作表布局。 我不明白为什么这是默认行为。 有什么办法让版本2更像版本1?

版本1不需要使用评论标签,但现在我无法得到没有它们的输出。

这并不完全正确。 你可以select不使用XlsCommentAreaBuilder 。 在这种情况下,你有3个选项

  1. 使用XmlAreaBuilder (可能不是你想要的方式)

  2. 使用Java API来构build命令(可能不是你想要的方式)

  3. 创build您自己的Jxls1TagCommandAreaBuilder ,它将从Jxls-1标记符号生成命令(并将其返回到jxls核心)

3选项可能是最好的,因为您将能够使用Jxls-1和Jxls-2模板而不用更改。 当然这不是微不足道的,而应该是可能的。

Java代码必须指定要写入结果的工作表位置,在版本1中,输出写在不需要在Excel和Java代码中重复模板设置的模板之上。

为了得到Jxls-1的行为,你可以做这样的事情

for (Area xlsArea : xlsAreaList) { xlsArea.applyAt( new CellRef(xlsArea.getStartCellRef().getCellName()), context); } 

所以你只需要在其起始单元格上应用一个区域。

如果你希望这是一个默认的行为,你可以提高jxls问题跟踪器的改进