Локализация значения для ячейки Excel с помощью электронных таблиц (.Net)

Я пытаюсь локализовать значение ячейки excel с помощью .Net Spreadsheetgear dll. Когда я пытаюсь сгенерировать excel, я подаю в суд на португальский числовой формат как «[= 0] 0; ###. ###, 00», который должен отображаться значение как 2.265,65 , но этого не происходит, и оно отображается как 2 265,65 («.» не заменяется на «,» для португальского), пожалуйста, помогите мне, есть ли какие-либо ограничения в Excel или нам нужно применить любой другой числовой формат

Спасибо, Судха.


person sudha musham    schedule 10.10.2014    source источник


Ответы (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
person Tim Andersen    schedule 10.10.2014
comment
Я пробовал. Это не работает. Я получаю значение 2265,65. Португальский формат не применяется. - person sudha musham; 13.10.2014
comment
Затем, пожалуйста, добавьте больше деталей к вашему вопросу, включая код, который вы использовали. - person Tim Andersen; 13.10.2014