【问题标题】:Globalize/Localize Excel Reports Using Spreadsheet使用电子表格全球化/本地化 Excel 报告
【发布时间】:2010-06-23 12:24:08
【问题描述】:

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

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

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

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

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

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

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

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

【问题讨论】:

    标签: asp.net excel globalization export-to-excel spreadsheetgear


    【解决方案1】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-05
      • 2021-11-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多