PHP:OpenTBS的电子表格摘要?

时间:2012-02-03 17:14:54

标签: php excel spreadsheet tinybutstrong opentbs

我正在使用PHP库TinyButStrong和插件OpenTBS将现有的Excel(或OpenOffice Calc)电子表格与数据库中的数据合并。

这很好用,但我无法弄清楚如何为列定义摘要。

例如,我将单元格A1定义为与数据合并的单元格。合并后,将为A2,A3等插入行

问题是我事先不知道要插入多少行,因此不能选择将10行留空,并将A11定义为摘要字段,因为它也可能是100行数据,我希望摘要直接位于最后一行数据的下方。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

合并工作表时,OpenTBS无法跟踪单元格,因为在合并期间可以随时移动,删除和复制任何单元格。

尽管如此,我可以提出两种解决方案。

简易解决方案:

决定将总数放在区域之上。并使用覆盖区域的公式永远不会。

ODS文件示例(OpenOffice Spreadsheet):
对于Excel,将“odsNum”替换为“xlsxNum”,将“table:table-row”替换为“row”。

A1: = SUM(A2:A20000)
A2: [a.amount;block=table:table-row;ope=odsNum]

这样,ODS公式可以保持正确的块“a”可以扩展到。

详细解决方案:

使用引用自身上方单元格的公式。

ODS文件示例(OpenOffice Spreadsheet):
对于Excel,将“odsNum”替换为“xlsxNum”,将“table:table-row”替换为“row”。

A1: [a.amount;block=table:table-row;ope=odsNum]
A2: =SUM( A1 : INDIRECT(ADDRESS(ROW()-1;COLUMN())) )

相同但有固定栏:

A1: [a.amount;block=table:table-row;ope=odsNum]
A2: =SUM( A1 : INDIRECT("A" & (LIGNE()-1))) )