使用EPPlus生成电子表格时是否可以忽略Excel警告?

Dem*_*sch 7 c# excel epplus

我使用C#和EPPlus在电子表格中的单个列中存储数字和非数字值的混合.当我用Excel打开电子表格时,它会在单元格中显示绿色三角形,其中数字值会显示"Number Stored as Text"的警告,并为特定单元格提供忽略它的选项.我可以从代码中执行此操作还是具有Excel特定功能?

小智 6

你真的有2个选项使用代码:

  • Range.NumberFormat属性更改为TEXT(我相信在epplus中等效Cell[row, column].Style.NumberFormat.Format)

  • 使用'(单引号)为任何数字加前缀- 然后Excel将数字视为TEXT - 在视觉上,它会按原样显示数字,但公式将显示单引号.

或者,我不建议依赖

  • 使用Excel的属性进行播放并取消选中以显示警告


Chr*_*uer 6

从EPPlus文档:

我的数字格式不起作用如果您将数字数据添加为字符串(就像原始ExcelPackage那样),Excel会将数据视为字符串,并且不会格式化.设置数值时,请勿使用ToString方法.

string s="1000"
int i=1000;
worksheet.Cells["A1"].Value=s; //Will not be formatted
worksheet.Cells["A2"].Value=i; //Will be formatted
worksheet.Cells["A1:A2"].Style.Numberformat.Format="#,##0";
Run Code Online (Sandbox Code Playgroud)

http://epplus.codeplex.com/wikipage?title=FAQ&referringTitle=Documentation

  • 我不是要格式化数值,我希望它们按原样显示.所以我没有'int i'的价值我宁愿拥有'string s'值而且Excel用警告标志标记它 (3认同)