Десятичные числа с использованием CarlosAg.ExcelXmlWriter - PullRequest
1 голос
/ 04 октября 2011

Буду признателен за ответ, как решить следующую проблему.

Я использую CarlosAg.ExcelXmlWriter и у меня проблема с форматированием десятичных чисел в Excel.

Пример: у меня есть поле SQLTestField, Decimal (15,2)) со значением 123,45

Когда я передаю результат (DataSet и некоторую подпрограмму C #) в Excel с CarlosAg.ExcelXmlWriter, результат всегда равен 12345 - как будто Карлос не распознает десятичное числоправильно.

Я попытался отформатировать данные на стороне SQL и на стороне Карлоса, и результат всегда является объединенным числом (123.45 -> 12345)

Примечание: я действительно что-то вроде "решить"проблема с преобразованием числа в varchar, но это неприемлемо для нашего клиента, потому что он не может форматировать строки в Excel (например, делать SUM и т. д.) и хочет, чтобы поле Excel было явно числовым, а не строковым.

Я почти уверен, что есть простой ответ на этот вопрос.

Спасибо, Дамир

Я пробовал Карлоса с NumberFormaт:

            //style2.NumberFormat = "Scientific";                
            //style2.NumberFormat = "General Number";
            //style2.NumberFormat = "###,###.00";
            //style2.NumberFormat = "###.###,00";

1 Ответ

0 голосов
/ 17 февраля 2012

...

case "System.Decimal":
case "System.Double":
wc = new WorksheetCell(dtrrow[col.ColumnName].**ToString().Replace(",",".")**, DataType.Number, style_number);
row.Cells.Add(wc);

...

...