ClosedXML 没有给我设置列格式的选项

Seb*_*ora 2 c# excel closedxml

当我尝试更改整个列的格式时遇到问题。

我的问题是我没有得到 XLCellValues 操作数。我可以选择 XLDataType.Text 但这不起作用。这就是我所拥有的:

eventSheet.Column("A").CellsUsed().SetDataType(XLDataType.Text); 我也试过用 1 替换 A。那样也不走运。它可能是 ClosedXML 包的更新版本吗?谢谢!

Fra*_*tha 5

该IXLCell.SetDataType方法不会改变显示格式。它只是改变了基础值的类型。要更改显示格式,请使用IXLCell.Style.NumberFormat

例子:

var workbook = new XLWorkbook();
var ws = workbook.Worksheets.Add("Style NumberFormat");

var co = 2;
var ro = 1;

// Using a custom format
ws.Cell(++ro, co).Value = "123456.789";
ws.Cell(ro, co).Style.NumberFormat.Format = "$ #,##0.00";

ws.Cell(++ro, co).Value = "12.345";
ws.Cell(ro, co).Style.NumberFormat.Format = "0000";

// Using a OpenXML's predefined formats
ws.Cell(++ro, co).Value = "12.345";
ws.Cell(ro, co).Style.NumberFormat.NumberFormatId = 3;

ws.Column(co).AdjustToContents();

workbook.SaveAs("StylesNumberFormat.xlsx");
Run Code Online (Sandbox Code Playgroud)

您可以在 ClosedXML wiki 上找到更多信息,例如在https://github.com/ClosedXML/ClosedXML/wiki/Styles-NumberFormat