如何在更改千位和小数分隔符时更改 Excel 格式

How to change Excel format when thousand and decimal seperator is changed

我有一个选项允许用户在我的 windows application.How 中使用 select 千位分隔符和小数点分隔符 application.How 我可以根据 [=15= 更改工作表-> 单元格的数字格式吗]ed 分隔符。

在 SpreadsheetGear 中指定工作簿使用的千位分隔符和小数点分隔符的唯一方法是间接地——通过传递特定的 CultureInfo object when you initially create/open the workbook via Factory.GetWorkbook(...) or Factory.GetWorkookSet(...). SpreadsheetGear uses the various options for that CultureInfo object, such as CultureInfo.NumberFormat.NumberGroupSeparator / NumberDecimalSeparator 来格式化工作簿中的单元格。

问题是,您不能调整工作簿的 CultureInfo 对象的各个属性以使用不同的格式设置选项,也不能在打开工作簿时 "hot swap" 将一个整体 CultureInfo 对象替换为另一个对象。

所以更改千位和小数分隔符之类的唯一方法是:

  1. 使用 "old" 分隔符关闭所有当前打开的工作簿。
  2. 重新打开或重新创建这些工作簿,指定一些其他 CultureInfo object into Factory.GetWorkbook(...) or Factory.GetWorkookSet(...) 使用所需的千位或小数点分隔符。

因此,您可能需要更改您的应用程序以指定特定区域而不是单独的分隔符,即您的用户提供了一个区域,您可以使用该区域通过 CultureInfo 获取特定的 CultureInfo 对象。GetCultureInfo(name) method, where name might be "en-US", "en-GB", "de-DE", "hi-IN", etc. If it helps, here 是一个页面,其中列出了许多预定义的 CultureInfo 代码。