如何用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文件时,选中一行,然后点鼠标右键,从菜单中选择“插入”命令之后的效果那样?