我使用C#和EPPlus在电子表格中的单个列中存储数字和非数字值的混合.当我用Excel打开电子表格时,它会在单元格中显示绿色三角形,其中数字值会显示"Number Stored as Text"的警告,并为特定单元格提供忽略它的选项.我可以从代码中执行此操作还是具有Excel特定功能?
小智 6
你真的有2个选项使用代码:
将Range的.NumberFormat属性更改为TEXT(我相信在epplus中等效Cell[row, column].Style.NumberFormat.Format)
使用'(单引号)为任何数字加前缀- 然后Excel将数字视为TEXT - 在视觉上,它会按原样显示数字,但公式将显示单引号.
或者,我不建议依赖
从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