2017-03-10 37 views
0


我想知道如何读取/导入Exel文件,该文件使用German公式语法?PHPExcel。如何阅读德文.xlsm文件/公式?

例子(这个公式是Excel工作):

=SUMME(SUMMEWENNS(Projekte2017!$R:$R;Projekte2017!$K:$K;Daten!$C$4:$C$6;Projekte2017!$H:$H;Daten!$E$3)) 

现在我得到这个错误:

PHPExcel_Calculation_Exception in Cell.php line 293: Demo!J12 -> Formula Error: An unexpected error occured

+0

你能解释一下PHP和Excel之间的连接好一点吗?你使用一个PHP插件/库进行Excel导入或类似的东西? – Zaphoid

+0

我使用PHPExcel库 – fabian

+1

你是说当你阅读**文件时发生问题,或者你正在尝试使用PhpExcel设置**公式。设置是一个完全不同的情况,确实有功能来处理语言细节。 – AndreKR

回答

0

这是一个奇怪的公式。

“SUMME”功能与英文中的“SUM”功能相同,“SUMMEWENNS”功能与“SUMIFS”相同。

https://support.office.com/en-us/article/SUMIFS-function-c9e748f5-7ea7-455d-9406-611cebce642b

所以有一些东西总结出来,在此之前已经总结AUP。总和,通常没有多大意义。

在进入公式的细节之前:难道你不能只是将数字“硬拷贝”到新的工作表中,以便只有数字并消除公式? (全部复制,粘贴到新工作表中并在上下文菜单中选择“值”(或“总结。在第一个分号之后,您定义了应该检查的区域(“标准范围”),并在第二个分号之后标准,应该检查标准范围中的值。

您可以重复,只要你想,所以你可以添加一些标准和根据范围。 (所以你应该在函数中总是有奇数个参数,这里就是这种情况)。

感叹号(!)之前的名称是对Excel工作表的引用(在同一张地图中),然后以“startcell:finishcell”的形式跟随该区域。 所以如果你拿A3:B5,那么这个区域包含了A3,A4,A5,B3,B4,B5的单元格。答:A是对整列的参考。如果在行或列引用之前放置“$”,则意味着如果将公式“拉”到另一个单元格,则不应更改它。 (例如,如果总结A列,则将总和公式向右扩展(通过从单元格的底部角落拖动),以便将其复制到下一个单元格,然后对列B进行求和在$之前放置$)

+0

我知道阅读公式以及如何将它们“翻译”成英文的知道很热。 – fabian

+0

好的,请指定您的问题!例如:上面列出的公式是否包含在单元格J12中的“演示”表格中? – Zaphoid

+0

如果你了解公式,那么也许你也可以解释一下,为什么有一笔总和,如果“复制”的解决方案可能是一个选择......并说“谢谢”永远不会伤害!谢谢! ;-) – Zaphoid

0

Excel文件格式,xlsm在您的情况下,不会以德文或任何其他特定语言存储公式。它总是使用英语。

当Excel文件打开时,MS Excel根据您的机器区域设置(德文)解释公式。

PHPExcel只处理文件格式。如果您真的需要德语,您应该只在应用程序中使用英文版的公式或实施任何翻译功能。

+0

请注意,PHPExcel提供公式“翻译”选项,包括德语;有关详细信息,请参阅[PHPExcel文档](https://github.com/PHPOffice/PHPExcel/blob/develop/Documentation/markdown/Overview/08-Recipes.md#locale-settings-for-formulae)。 –