向Excel写入数字后自动添加00%问题的解决方法咨询
解决Excel写入数字后保存显示为百分比的问题
这不是文件损坏,核心原因是你写入的目标单元格被设置成了百分比格式。Excel的百分比格式会自动将单元格数值乘以100并添加%后缀,所以写入的1会被显示为100%,363会变成36300%——调试时你看到的可能是单元格的原始值,而非应用格式后的显示效果。
以下是几种可行的解决方法:
方法1:写入值前设置单元格为常规/数值格式
在写入数值前,先将目标单元格的格式改为常规或纯数值格式,确保数值按原样显示:// 设置为常规格式 errorSheet.Cells[rowNo, 1].NumberFormat = "General"; errorSheet.Cells[rowNo, 2].NumberFormat = "General"; // 写入数值 errorSheet.Cells[rowNo, 1].Value = 1; errorSheet.Cells[rowNo, 2].Value = 363;若需要固定小数位数,也可以指定数值格式(例如保留0位小数):
errorSheet.Cells[rowNo, 1].NumberFormat = "0"; errorSheet.Cells[rowNo, 2].NumberFormat = "0";方法2:写入文本形式的数值(适合无需计算的场景)
如果不需要对这些数值进行Excel公式计算,可以直接写入文本格式的数值,强制Excel按输入内容显示:errorSheet.Cells[rowNo, 1].Value = "1"; errorSheet.Cells[rowNo, 2].Value = "363";方法3:手动修正现有文件的单元格格式
打开目标Excel文件,选中需要写入数值的列或单元格,右键选择「设置单元格格式」,在弹出窗口中选择「常规」或「数值」选项,保存文件后再运行代码写入即可。
内容的提问来源于stack exchange,提问作者User_AA
相关产品推荐
相关产品推荐

