c# 使用npoi的方式读写excel文件 40

我是用npoi的方式把一个集合数据写入一个excel文件的,不过,我想写入的数据不要显示0出来。我试个先判断要是读入的数是0的时候,我就把该cell写入一个空的字符串,那... 我是用npoi的方式把一个集合数据写入一个excel文件的,不过,我想写入的数据不要显示0出来。我试个先判断要是读入的数是0的时候,我就把该cell写入一个空的字符串,那样的话,是不会显示0出来了,但是我的公式因而用不了!所以,我想请教一下大家,有谁知道怎么处理0的显示问题,就是遇到0的时候,它自动隐蔽了! 展开
 我来答
析君豪2Q
2014-10-13 · TA获得超过411个赞
知道小有建树答主
回答量:724
采纳率:50%
帮助的人:199万
展开全部
if (val == 0) row.CreateCell(c).SetCellValue(""); //val是你要写入的值,如果等于0就写入空字符“”
更多追问追答
追问
问题是要是我后面的公式就用不了,
string formula = String.Format("1*D{0}+1*D{0}*(E{0}+F{0}+G{0}+H{0}+I{0}+J{0}+K{0}+L{0})+M{0}", at_at); cell.SetCellFormula(formula);
这样就会因为我的SetCellValue("");,这公式处理不了得到的东西是####
追答
空的时候不设置公式就可以了,要不你就改下你的公式
尔离好活笑4
2017-11-16 · TA获得超过2049个赞
知道小有建树答主
回答量:1521
采纳率:87%
帮助的人:204万
展开全部
首先这个问题我从两方面分析一下:
第一:
Excel里面单元格的格式是可调的,有很多数值啊、文本啊、时间一类的,但是我想了一下,对于你的问题是没有帮助的。唯一显示不了0的情况是把格式设置为数值,当你输入00123时它会保存为123,去掉的仅仅只是起始的两个0。
第二:
既然你使用的C#,为什么不发挥它的长处,面向对象的等级那么高,何必非要在Excel上纠结,完全可以自己写一个需要的软件啊。把数据处理好了再导进去岂不完美?还有啊,我个人觉得呢,NPIO不是什么好东西,跟COM组件打交道真的是一件很烦的事情,我建议你趁早换一个与COM端完全脱离的组件,比如ClosedXML,就你上面的问题,可以控制在10行代码之内搞定,何乐而不为,当然,这只是我个人的经验和观点。另外提示一下,这个组件的强大在于可以不用安装office,直接读取xlsx文件,因为读取的是XML文件;还有更加隐为人知的一点,输入到excel的时候可以控制数据类型,这可是很少有人知道的,当然我例外!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小李无刀
2017-11-16 · TA获得超过6359个赞
知道大有可为答主
回答量:8829
采纳率:78%
帮助的人:5008万
展开全部
把0改为空格“”就行了啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2017-11-27
展开全部
ent. Photo: China N
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式