失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > NPOI读取Excel设置单元格格式为数值不生效问题

NPOI读取Excel设置单元格格式为数值不生效问题

时间:2021-05-10 06:22:46

相关推荐

NPOI读取Excel设置单元格格式为数值不生效问题

初学C#踩坑第一篇

NPOI读取Excel设置单元格格式为数值不生效问题

问题简介:

C#使用NPOI写入Excel是修改单元格不能修改,生成后Excel需要打开后双击单元格才会改变格式,话不多说下面直接讲解决办法。

出现问题点:

给单元格赋值时全部赋值的时String类型的值,所以导致单元格格式不生效。

解决方法:

为单元格赋值时赋值相应类型的值,例如:单元格格式为数值,则赋值double。

//设置单元格格式代码IDataFormat dataformat = workbook.CreateDataFormat();ICellStyle style2 = workbook.CreateCellStyle();style2.DataFormat = dataformat.GetFormat("0.0"); //改变小数精度【小数点后有几个0表示精确到小数点后几位】

IDataFormat dataformat = workbook.CreateDataFormat();ICellStyle style2 = workbook.CreateCellStyle();style2.DataFormat = dataformat.GetFormat("0.0"); //改变小数精度【小数点后有几个0表示精确到小数点后几位】foreach (DataRow row in sourceTable.Rows){IRow dataRow = sheet.CreateRow(rowIndex);sheet.CreateRow(rowIndex).Height = 100 * 5;foreach (DataColumn column in sourceTable.Columns){//遍历DataRow时当列为金额时,将单元格格式改为数值格式if (column.ToString() == "金额"){ICell RowCell = dataRow.CreateCell(column.Ordinal);//来看这里 #############################################//给单元格赋值时进行一下类型转换 double.Parse((row[column] ?? "").ToString())RowCell.SetCellValue(double.Parse((row[column] ?? "").ToString()));RowCell.CellStyle = style2;}else{ICell RowCell = dataRow.CreateCell(column.Ordinal);RowCell.SetCellValue((row[column] ?? "").ToString());RowCell.CellStyle = style;}}

到次就大功告成了。

如果觉得《NPOI读取Excel设置单元格格式为数值不生效问题》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。