1

我的公司在巴西有新客户,当我们的巴西客户试图在他们的巴西版本的 excel 中打开报表时,我们意识到我们的 excel 报表无法正常工作。

对于 excel 输出,我们在 vb.net Web 应用程序中使用电子表格工具。我们的 Excel 工作表相当简单。主要输出文本/数字/日期,几个公式(总和,如果)以及货币和日期的格式。

我尝试了几种方法来让我的 excel 报告正常工作:

首先,我将 excel 工作簿留在“en-US”文化中,并尝试简单地将巴西的数字格式更改为:

_-[$R$-416] * #.##0,00_-;-[$R$-416] * #.##0,00_-;_-[$R$-416] * "-"??_-;_-@_-

这格式化了常规单元格,但公式仍然无法显示值。相反,他们显示了 0 值。

接下来,我尝试将工作簿更改为“pt-BR”文化,这也迫使我翻译公式名称(Sum -> Soma,If -> Se),但它们仍然不应该是一个值,而是显示一个#Name /#名称错误。有趣的是,如果我编辑单元格并按回车,这些公式将起作用。公式不会改变,但它会如何修复该单元格。

我需要能够输出可以格式化日期/货币并为其他 excel 文化应用简单公式(IF、Sum)的 Excel 报告。有人有什么建议吗?

4

1 回答 1

0

不确定它是否适用于 Excel,因为我已经很长时间没有使用它了,但我在 OpenOffice Calc Basic 中遇到了完全相同的问题(也使用 pt-BR)。它给了我一个错误,但在单元格中按 enter 后工作。我发现有一种不同的方法来设置英文公式和本地化公式。例如,当您将带有英文关键字的公式写入您使用的单元格时: cell.Formula = '=IF(cond....)'

如果您使用本地化关键字: cell.FomulaLocal = '=SE(cond....)'

这两种方法都适用于 pt_BR 版本,但关键字必须与方法名称配对。

也许Excel有类似的技巧?你试过pt_BR版本的英文关键词了吗?

于 2010-06-23T04:24:08.600 回答