用于使用的SpreadsheetGear Excel单元定位值(.NET)(Localizing v

2019-11-03 08:41发布

我试图定位使用。NET的SpreadsheetGear DLL Excel单元格值,当我尝试生成的excel我起诉葡萄牙人数字格式为“[= 0] 0; ### ###,00”,其应该显示该值作为2.265,65,但这是不会发生,它会显示为2,265.65(“”是没有得到替换为“”为葡萄牙语),请帮帮我有在Excel中的任何限制,还是我们需要申请任何其它数字格式

由于苏哈

Answer 1:

您可以控制一个工作簿的一些本地化方面,如货币,日期以及数量组和小数点分隔符,通过传递特定CultureInfo创建或打开的SpreadsheetGear工作簿文件时类型。 该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


文章来源: Localizing value for Excel cell using spreadsheetgear (.Net)