如何使用ClosedXML为列设置数据类型?

ast*_*tef 7 c# closedxml

我在文档中看到很多示例,其中设置了单元格的数据类型:

ws.Cell(1, 1).SetDataType(XLCellValues.Text);
Run Code Online (Sandbox Code Playgroud)

但是当我尝试为列设置数据类型时:

ws.Column(1).SetDataType(XLCellValues.Text)
Run Code Online (Sandbox Code Playgroud)

ClosedXML生成5MB文件,实际上并未设置数据类型.

此操作在Excel中按预期工作(右键单击列标题,格式化单元格,...).

如果它是ClosedXML的限制,是否可以轻松修复,还是有解决方法?

Rai*_*ica 10

ClosedXML设置列中所有单元格的数据类型,最大为(行100万左右).使用此选项仅设置列中已用单元格的数据类型:

ws.Column(1).CellsUsed().SetDataType(XLDataType.Text);
Run Code Online (Sandbox Code Playgroud)

此外,ClosedXML中的数据类型与Excel中的单元格格式不同(请查看文档中的示例文件以查看差异).

  • 如果你想排除顶行,你可以这样做: var lastCell = ws.LastRowUsed().RowNumber(); 字符串单元格=“2:”+lastCell;ws.Column(5).Cells(cells).SetDataType(XLDataType.Number); (3认同)
  • 我使用 ws.Cell(row, 1).SetValue<string>(yourinput); 解决了 (2认同)