向Excel表中插入数据时,产生异常,提示不能扩充选定范围。用的是C#语言,ADO.NET方式。我上网看其他人也遇到过该问题,不过没有解决的办法,高手来帮个忙,非常感谢!

解决方案 »

  1.   

    现在有一个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文件时,选中一行,然后点鼠标右键,从菜单中选择“插入”命令之后的效果那样?本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/fangxinggood/archive/2006/04/08/655313.aspx
      

  2.   

    网上有个BasicExcel类可以完成Excel的各项操作,C++写的,但是如果用C#的话,可能得找人家写好的dll文件