使用 ClosedXML 写入 Excel 单元格后数据无效
Invalid data after writing to the Excel cell using 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 包
问题已在 ClosedXML 社区的帮助下解决,感谢 https://github.com/igitur
”
ClosedXML 将该字符串识别为有效日期。我猜你的区域日期设置允许。或 , 作为日期分隔符。如果您确定要将该值设置为数据类型文本,您可以在该值前加上“.”
即
worksheet.Cell( "A1" ).Value = "'10,1";
有关此的更多信息,请访问 https://github.com/ClosedXML/ClosedXML/wiki/Cell-Values
我正在尝试将值写入单元格“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 包
问题已在 ClosedXML 社区的帮助下解决,感谢 https://github.com/igitur
” ClosedXML 将该字符串识别为有效日期。我猜你的区域日期设置允许。或 , 作为日期分隔符。如果您确定要将该值设置为数据类型文本,您可以在该值前加上“.”
即
worksheet.Cell( "A1" ).Value = "'10,1";
有关此的更多信息,请访问 https://github.com/ClosedXML/ClosedXML/wiki/Cell-Values