我创建System.Data.DataTable
,然后使用ClosedXML.Excel
将数据放入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或R $ 10000(货币在变化),我不知道如何将货币类型设置为这些列,而不会丢失有关货币的信息。
谢谢您的帮助。
答案 0 :(得分:0)
向创建的表中,添加一列具有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))
是具有货币ID的单元格