C#导出动态excel问题!

嘴哥臭鼬 2009-04-10 04:30:38
很奇怪我的写了
tempRange.set_Value(XlRangeValueDataType.xlRangeValueDefault, @"=P18/J18")导出的时候显示=#REF!/J18
发现一个现象因为这行代码实行的时候是在P列内容填写之前实行,会有这样的错,但是如果换成@"=A18/J18"等,因为已经填写了A18的内容所以不会有错,凡是在之后填写的都会有错,之前的都没错,这个问题好怪啊,哪位高手知道怎么弄好啊?

没分了以后补...
...全文
87 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
嘴哥臭鼬 2009-04-13
  • 打赏
  • 举报
回复
糟糕只能加100分...我还是没这么多分再等几天结贴吧...
嘴哥臭鼬 2009-04-13
  • 打赏
  • 举报
回复
我的merge是上面的行是空白下面一行有数据,然后merge,具体代码不太好发上来,不少,结贴了。
himoggy 2009-04-10
  • 打赏
  • 举报
回复
- -居然卡得发两次

刚才试了下,如果在excel里直接合并单元格,写这样的等式还是可以得到结果的
不太清楚你的Merge是怎么用的呢
himoggy 2009-04-10
  • 打赏
  • 举报
回复
饿。。这个没注意过呢
excel相关的接触很少,只用过基础操作- -|||还是我学着做的第一个.net程序……Orz
分数就无所谓了^^
也学到东西了

Merge方法是合并单元格了吧?
himoggy 2009-04-10
  • 打赏
  • 举报
回复
饿。。这个没注意过呢
excel相关的接触很少,只用过基础操作- -|||还是我学着做的第一个.net程序……Orz
分数就无所谓了^^
也学到东西了

Merge方法是合并单元格了吧?
嘴哥臭鼬 2009-04-10
  • 打赏
  • 举报
回复
直接用merge那行有内容就行没报错了比如写tempRange.set_Value(XlRangeValueDataType.xlRangeValueDefault, @"=P19/J18")程序里,在excel导出时候会显示成
tempRange.set_Value(XlRangeValueDataType.xlRangeValueDefault, @"=P18/J18"),估计office.dll的一个bug哈。
嘴哥臭鼬 2009-04-10
  • 打赏
  • 举报
回复
我知道原因了,因为我用了merge,然后后面的内容因为merge的当前各子没有内容,所以导致数据问题。分以后给你,我说话算话。
himoggy 2009-04-10
  • 打赏
  • 举报
回复
很好奇 怎么会引用无效呢。。。
我这么写的话,查看单元格内容是0
顺便问你是什么版本的?
嘴哥臭鼬 2009-04-10
  • 打赏
  • 举报
回复
还是有这个问题啊,试了好久
himoggy 2009-04-10
  • 打赏
  • 举报
回复
- -而且是tempRange.set_Value和tempRange.Value2=都没问题……orz
himoggy 2009-04-10
  • 打赏
  • 举报
回复
会不会是你其他地方的问题?
我试了没错啊
具体内容请参考我的BLOG:http://blog.csdn.net/smallwhiteyt/archive/2009/11/08/4784771.aspx 如果你耐心仔细看完本文,相信以后再遇到导出EXCLE操作的时候你会很顺手觉得SO EASY,主要给新手朋友们看的,老鸟可以直接飘过了,花了一晚上的时间写的很辛苦,如果觉得对你有帮助烦请留言支持一下,我会写更多基础的原创内容来回报大家。 C#导出数据到EXCEL表格是个老生常谈的问题了,写这篇文章主要是给和我一样的新手朋友提供两种导出EXCEL的方法并探讨一下导出的效率问题,本文中的代码直接就可用,其中部分代码参考其他的代码并做了修改,抛砖引玉,希望大家一起探讨,如有不对的地方还请大家多多包涵并指出来,我也是个新手,出错也是难免的。 首先先总结下自己知道的导出EXCEL表格的方法,大致有以下几种,有疏漏的请大家补充。 1.数据逐条逐条的写入EXCEL 2.通过OLEDB把EXCEL做为数据源来写 3.通过RANGE范围写入多行多列内存数据到EXCEL 4.利用系统剪贴板写入EXCEL 好了,我想这些方法已经足够完成我们要实现的功能了,方法不在多,在精,不是么?以上4中方法都可以实现导出EXCEL,方法1为最基础的方法,意思就是效率可能不是太高,当遇到数据量过大时所要付出的时间也是巨大的,后面3种方法都是第一种的衍生,在第一种方法效率低下的基础上改进的,这里主要就是一个效率问题了,当然如果你数据量都很小,我想4种方法就代码量和复杂程度来说第1种基本方法就可以了,或当你的硬件非常牛逼了,那再差的方法也可以高效的完成也没有探讨的实际意义了,呵呵说远了,本文主要是在不考虑硬件或同等硬件条件下单从软件角度出发探讨较好的解决方案。

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧