我试图在VisualStudio2019中使用C#生成一个excel文件(C#),使用NPOI库。我遇到的问题是插入的数据格式不正确。
我有一个可以同时包含数字和文本的字段,当它显示在excel中时,单元格只在数字字段(如所附的图像)上发出警告“数字作为文本存储”。
我尝试使用以下方法使单元格成为字符串单元格。
ICellStyle cellStyle = book.CreateCellStyle();
cellStyle.DataFormat = NPOI.HSSF.UserModel.HSSFDataFormat.GetBuiltinFormat("text");
ICell cell = row.CreateCell(cellIndex);
cell.CellStyle = cellStyle;
cell.SetCellType(CellType.String);
cell.SetCellValue(itemData.PropertyName.ToString());
不过,在生成的excel文件中仍然会收到相同的警告。
任何帮助都是非常感谢的。
发布于 2021-09-30 05:43:05
这是正确而有效的行为。Excel消息是信息性的,而不是错误。它告诉您,您已经成功地存储了一个仅由数字字符组成的文本字符串。Excel中的选项是将其转换为数字或忽略“错误”。
如果希望将值存储为数字,则不需要使单元格类型为字符串,只需执行如下操作:
if (itemData.PropertyName.ToString().Any(c => !char.IsNumber(c)))
cell.SetCellType(CellType.String);
else
cell.SetCellType(CellType.Numeric);
这可能是有用的:NPOI Cell Formatting Link
https://stackoverflow.com/questions/69385461
复制相似问题