ClosedXML不提供格式化列的选项

问题描述 投票:1回答:1

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

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

eventSheet.Column( “A”)CellsUsed()SetDataType(XLDataType.Text)。;我也尝试用1取代A.也没有运气。它可能是ClosedXML包的更新版本吗?谢谢!

c# excel closedxml
1个回答
2
投票

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");

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

© www.soinside.com 2019 - 2024. All rights reserved.