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

C# 如何使用ClosedXML为列设置数据类型?,c#,closedxml,C#,Closedxml,我在文档中看到许多示例,其中设置了单元格的数据类型: ws.Cell(1, 1).SetDataType(XLCellValues.Text); 但当我尝试为列设置数据类型时: ws.Column(1).SetDataType(XLCellValues.Text) ClosedXML生成一个5MB的文件,数据类型并没有实际设置 此操作在Excel中正常工作(右键单击列标题、设置单元格格式等) 如果是ClosedXML的限制,是否可以轻松修复,或者是否有解决方法?ClosedXML将列中所有单

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

ws.Cell(1, 1).SetDataType(XLCellValues.Text);
但当我尝试为列设置数据类型时:

ws.Column(1).SetDataType(XLCellValues.Text)
ClosedXML生成一个5MB的文件,数据类型并没有实际设置

此操作在Excel中正常工作(右键单击列标题、设置单元格格式等)


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

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

ws.Column(1).CellsUsed().SetDataType(XLDataType.Text);

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

是的,我使用的是colum和setdatatype,没有“cellused”过滤器。结果表明,该过程将永远持续。没有“列”属性。可能是因为我运行的是不同版本的ClosedXml吗?如果要排除最上面一行,可以这样做:var lastCell=ws.LastRowUsed().RowNumber();string cells=“2:”+lastCell;ws.Column(5).Cells(Cells).SetDataType(XLDataType.Number);