ClosedXML – 设置单元格的数据types不起作用
我有类似的问题关于ClosedXML,就像这一个,但有点不同。 SetDataType方法不起作用。 例如,我有值string dps = "3.12.02"
这不是一个date或数字,它是有效的文本。
当我这样做: ws.Cell(1, 1).Value = dps; ws.Cell(1, 1).SetDataType(XLCellValues.Text);
ws.Cell(1, 1).Value = dps; ws.Cell(1, 1).SetDataType(XLCellValues.Text);
并保存该文件,然后打开它在Excel中,它仍然将其转换为一些像37593
我试图把它之前和之后设置值,没有改变。
有人可以帮我吗?
.Value
方法尝试猜测您正在设置的值的types。 在你的情况下,该值是一个有效的(即可parsing的) DateTime
,这是内部存储为数字。
要明确地设置一个值,不要猜测,使用:
string dps = "3.12.02"; ws.Cell(1, 1).SetValue(dps);
虽然我不能告诉你为什么它不起作用,但一个简单的方法是用撇号( '
)预先填充string。 这迫使Excel将所有后面的内容视为文本。
string dps = "'3.12.02"; ws.Cell(1, 1).Value = dps;