【问题标题】:In Apache POI, how to get 'colspan' value relative to over-flowing cell value?在 Apache POI 中,如何获得相对于溢出单元格值的“colspan”值?
【发布时间】:2017-08-02 02:51:02
【问题描述】:

我目前正在使用 Apache POI 将电子表格转换为 HTML。

虽然我能够使用常用的 POI API 方法构建一个体面的 HTML。我在实现我的要求的格式方面受到限制。

当当前单元格值较长时,单元格值可能会溢出到下一个单元格而不合并相邻单元格。这是用于理解的图像。

虽然我可以通过这种方法获得列宽 - Sheet 并且可以理解“R”列中的文本(来自上图)没有被换行,但我没有办法知道这个值的单元格数量溢出了。

我为什么需要这个? 我要求我的 HTML 看起来像电子表格一样。

在转换为 HTML 文件时,我希望找到 <td>'colspan' 属性,对应于单元格值的长度。

您能否告诉我正确的 API 方法或解决方法?

提前致谢!

【问题讨论】:

  • 如果您想在转换为 HTML 之前自动调整列的大小(但似乎并非如此),您可以先使用 autoSizeColumn(columnNumber) 调整大小...只是一个想法。

标签: java apache-poi xssf


【解决方案1】:

这可能看起来有点 hacky,但您可以尝试的一件事是使用 getColumnWidth 获取列宽,然后测试单元格的“可见”宽度,直到达到该宽度(多少个单元格达到那个宽度)然后显示的单元格数就是你的colspan值。

希望这是有道理的。

【讨论】:

  • 似乎是一个计划。打算试试这个。同时,getColumnWidth 方法为您提供列宽或单元格值的宽度?
  • 您能否解释一下 - 单元格的“可见”宽度?
  • 我认为有不同的方法可以获取实际的单元格宽度(您所看到的),而另一种方法可以获取单元格内数据的宽度。如果是这种情况,您可以计算溢出需要多少个单元格。不过我可能弄错了。
猜你喜欢
  • 2011-06-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多