我正在尝试使用.Net spreadsheetgear dll本地化excel单元格值,当我尝试生成excel时,我正在起诉葡萄牙语数字格式为" [= 0] 0; ###。### ,00"应显示值为2.265,65,但这不会发生,它显示为2,265.65("。"没有被""替换为葡萄牙语),请帮助我是否有excel的限制或我们是否需要应用任何其他数字格式
由于 苏哈
答案 0 :(得分:0)
通过在SpreadsheetGear中创建或打开工作簿文件时传递特定的CultureInfo
类型,您可以控制工作簿的某些本地化方面,例如货币,日期以及数字组和小数分隔符。重载Factory.GetWorkbook(...)和Factory.GetWorkbookSet(...)方法以接受此CultureInfo
对象。如果您未指定CultureInfo
对象,则SpreadsheetGear默认为" en-US"。
我的猜测是您的工作簿集正在使用" en-US"因为您没有指定葡萄牙CultureInfo
类型。下面是一个示例,该示例应演示如何使您的上述NumberFormat
按预期显示在SpreadsheetGear中:
// Create a new workbook specifying "pt-BR" CultureInfo
IWorkbook workbook = Factory.GetWorkbook(CultureInfo.GetCultureInfo("pt-BR"));
IWorksheet worksheet = workbook.ActiveWorksheet;
IRange cells = worksheet.Cells;
cells["A1"].NumberFormat = "[=0]0;###.###,00";
cells["A1"].Value = 2265.65;
Console.WriteLine(cells["A1"].Text);
// Output: 2.265,65