Java - (Apache POI)在循环中设置单元格公式

时间:2013-01-28 07:15:19

标签: java apache-poi spreadsheet

Scenario

Hello Java Developers,

这是一个直截了当的问题。如何在Apache POI的循环中设置Cell的公式?

以下是支持我的问题的信息:

插图1 :单元格C1的公式为SUM(C6:C7),只需对公式myCell.setCellFormula("SUM(C6:C7)")进行硬编码即可完成。
另一方面:

插图2 :这是我想要的输出。我想在单元格C1, D1, and E1上设置一个公式。如何在循环内完成?

我为什么要在循环中想要它呢? - 硬编码会很烦人。 3个细胞就是例子。目前我有数百个细胞在等待他们的公式 - 未指定行计数,它将基于程序创建的行数。

我做了什么? - 用Google搜索 - 搜索类似的问题。
- Apache POI的列由Integer(一行中的单元格数)表示。

该公式需要Alpha C2(C栏,第2行)。我试图循环遍历电子表格,并意识到如果我继续,公式将导致SUM(26:27)(其中:2 = C列,第6行(Base 1:rowCount + 1),我希望{{1} 1}}

2 个答案:

答案 0 :(得分:5)

我终于解决了这个问题 CellReference.convertNumToColString(myColumnNumber)将返回列名称

答案 1 :(得分:1)

到目前为止你尝试了什么(代码)?

尝试这样的事情(但是当你越过Z栏时,你必须更多地考虑它:

  int col=2;
  int row=6;
  char ccol = (char) (('A'+col)&0xff);
  String formula=String.format("SUM(%c%d:%c%d)", ccol, row, ccol, row+1);