如何用C#在Excel文件指定位置插入一行,原有数据下移?

liu7537 2006-04-25 03:17:11
如何用C#在Excel文件指定位置插入一行,原有数据下移?

现在有一个Excel报表,格式是这样的:
前5行是报表的固定Title;
从6到20行是报表的数据区,一共是15行、4列;
第21至26行是报表的Footer区,主要是一大堆填表说明等文字信息,这里面都用了合并单元格的方式,将4个单元格合并成1个,跟上面的数据区相同宽度,看起来比较规矩。

根据需求,我写了一个C#程序,将数据库里面的记录写入到这个Excel表格的数据区。我用的是OLE DB JET连接Excel文件,用ADO.NET技术中的SQL语句(insert into ... values ...)来写入数据的。
现在出现这样一个问题,数据区最多只能插入15条记录,超过这个数值,C#程序就会出现异常——“不能扩充选定范围”!
我分析了一下,实用Insert语句插入记录的使用,仅仅是修改现有单元格的文字值,当Insert第16条记录的时候遇到了Footer区的说明文字,就会出现上述异常。
我想请问,有没有一种方法能够操作Excel文件,让它新增一个空白行,然后把数据写到这个空白行上,原有的单元格统一下移?就像我们直接操作Excel文件时,选中一行,然后点鼠标右键,从菜单中选择“插入”命令之后的效果那样?
...全文
1371 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
机器人 2006-04-25
  • 打赏
  • 举报
回复
直接通过Excel Object Library 可以像你说得那样操作。

http://blog.csdn.net/fangxinggood/archive/2006/04/08/655313.aspx
quanyi 2006-04-25
  • 打赏
  • 举报
回复
你到VBA里面看看就知道了,
做个宏看看了,就清楚了

110,571

社区成员

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

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

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