使用ClosedXML写入Excel单元格后的数据无效

时间:2018-03-15 12:56:45

标签: c# openxml closedxml

我正在尝试将值写入单元格“10.1”,但在单元格中写入后,我得到了值:“43110”

class Program
{
    static void Main( string[] args )
    {
        var workbook = new XLWorkbook();
        var worksheet = workbook.Worksheets.Add( "Sample Sheet" );
        worksheet.Cell( "A1" ).Value = "10,1";
        worksheet.Cell( "A1" ).DataType = XLDataType.Text;

        string testValue = worksheet.Cell( "A1" ).Value.ToString();
        Console.WriteLine( testValue );

        workbook.SaveAs( "testSheet.xlsx" );

        Console.ReadKey();
    }
}

如果要运行此示例中的代码,请在安装NuGet中的ClosedXML包之前

1 个答案:

答案 0 :(得分:2)

在ClosedXML社区的帮助下解决了这个问题,感谢https://github.com/igitur

” ClosedXML将字符串识别为有效日期。我猜你的区域日期设置允许。或者,作为日期分隔符。如果您确定要将值设置为数据类型文本,则可以使用“。”前缀值。

 worksheet.Cell( "A1" ).Value = "'10,1";

有关此问题的更多信息,请访问https://github.com/ClosedXML/ClosedXML/wiki/Cell-Values