代码之家  ›  专栏  ›  技术社区  ›  Vas Mil

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

  •  0
  • Vas Mil  · 技术社区  · 6 年前

    我试图向单元格“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 回复  |  直到 6 年前
        1
  •  3
  •   Vas Mil    6 年前

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

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

    i、 e。

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

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