Apache POI Excel – search并replace文本

我正在使用Java开发系统,涉及将数据保存到Excel文件而不是保存到数据库。 这是客户的要求之一。

我已经完成使用Java的Apache POI创buildExcel文件,所以与此问题。 但现在我想有更便捷的方式来做到这一点。

我想要一个Excel模板,这样用户可以devise自己的输出。 数据将被占位符replace插入到Excel中。

我的问题是,有没有办法使用Apache POIreplaceExcel中的一些文本?

谢谢!

我不认为POI有这个内置的。 它是一个低级别的API,可以在任何环境下读取和写入Excel,甚至在没有安装excel的情况下也可以(仅在二进制文件格式下工作)。 所以你不得不自己build立这个,但不是太难。

已经做了一个项目,用户可以命名具有特定值的单元格,然后代码将查找这些,并使用它们作为插入数据的地方的提示。因此,它可能但你需要拿出格式和编写代码去通过第一个n排你自己根据要求。

我们用前面的10行和50列来parsing头文件信息,摘要等等,然后是详细数据,然后移动到另一个数据表中,而不是x行。 它工作得很好,为1报告编写的代码可以用于其他2个没有修改的代码。

对于数据库端 – 必须定义查询,然后在另一个属性表中引用它们。

符号是这样的

q1=select c1,c2 ... where c1=p1 and c2=p2 q2=select c1,c2,c3 from ... where c1 = p3 

其中p1,p2来自config,environment和screen的参数。

然后在表单中find带有查询ID和列ID的字符{ – 和 – },例如:

  {-q1.c1-} 

会parsing,以获得查询ID和列号,如果只有一个结果replace它(摘要数据),否则将其replace在下面的行中。

这些也可能是excel公式的一部分 – 当excel由用户创build时,公式将是无效的,但是在我们replace了值之后,他们就开始工作了。

如果当前的excel有把invalud公式的问题,你可以接受一个属性表中的模板 – 指定列的id和行号,以及excel公式包括要被你的程序的值replace的string