Измените формат столбца на валюту в ClosedXML.Excel C # - PullRequest
0 голосов
/ 22 ноября 2018

Я создаю System.Data.DataTable и помещаю данные в Excel, используя ClosedXML.Excel

System.Data.DataTable table = GetTable();
XLWorkbook wb = new XLWorkbook();
var ws = wb.Worksheets.Add("Acompanhamento - Cultura");
ws.FirstCell().InsertTable(table, false);
var range = ws.RangeUsed();  

Проблема в том, что у меня есть столбцы в виде строки со значениями, такими как 20000 или 10000 рублей (валюта меняется) иЯ не знаю, как установить тип валюты для этих столбцов и не потерять информацию о валюте.

Спасибо за помощь.

1 Ответ

0 голосов
/ 28 ноября 2018

В таблицу, которую я создал, я добавляю столбец с currencyID и столбец с единственным номером, без информации о валюте, эту таблицу я добавил в Excel, а позже в цикле я проверял строку за строкой, что такое Id валюты и форматячейка

   ws.Cell(j, i).Style.NumberFormat.Format = ws.Cell(j, i).Value.ToString() != "" ? Convert.ToInt16(ws.Cell(j, (i-1)).Value) == 2 ? " [$R$-pt-BR]#,##0.00" : "[$$-en-US] #,##0.00" : "";}

, где ws.Cell(j, i) - ячейка со значением (числом), а ws.Cell(j, (i-1)) - ячейка с идентификатором валюты

.
...