使用电子表格(.Net)本地化Excel单元格的值

时间:2014-10-10 05:22:36

标签: asp.net vb.net excel spreadsheetgear

我正在尝试使用.Net spreadsheetgear dll本地化excel单元格值,当我尝试生成excel时,我正在起诉葡萄牙语数字格式为" [= 0] 0; ###。### ,00"应显示值为2.265,65,但这不会发生,它显示为2,265.65("。"没有被""替换为葡萄牙语),请帮助我是否有excel的限制或我们是否需要应用任何其他数字格式

由于 苏哈

1 个答案:

答案 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