在一个已经存在的EXCEL中(不确定有多少行数据) 我想添加几行数据。 请问我该如何实现 ?
我自己写的会把原有的数据清空掉。。
最好能有个例子。如果没有例子就给几个关键的方和和方法说明白。。我看到EXCEL的方法都没有说明。 有点晕

解决方案 »

  1.   

    http://topic.csdn.net/t/20050919/17/4279898.html
    参考这个
      

  2.   

    看一下吧:http://www.bbs180.com/showforum-44.aspxOffice开发专题
      

  3.   

    不行的话就重新读取EXCEL 写完后用流重新覆盖此文件。。(性能上差了点。)
      

  4.   

    value為要插入一行的值,tablename為插入表的名字
    public void InsertData(string[] value, string tablename)
            {
                Microsoft.Office.Interop.Excel.Workbook workbook = Globals.ThisAddIn.Application.ActiveWorkbook;
                Microsoft.Office.Interop.Excel._Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Sheets[tablename];
                worksheet.Activate();
                int j = worksheet.UsedRange.Rows.Count + 1;
                for (int i = 0; i < value.Length; i++)
                {
                    Microsoft.Office.Interop.Excel.Range excelRange =
                    (Microsoft.Office.Interop.Excel.Range)worksheet.Cells[j, i + 1];
                    excelRange.Value2 = value[i];
                }
            }
    有問題可留言給我
      

  5.   

    也许是我没有谁说清楚吧 。在这我补充下。   
    例如: 我的excel在  c:\admin.xls
    它又2行2列数据  分别是 
     1  3
     2  3 
    问题是现在 我想在不覆盖这个excel的数据的前提下  添加2行2列  
     3  3  
     4  3 
     5  3   
    我该怎么做呢?
    我又试过很多方法都会覆盖掉原来的数据。以上为举例。
    现实情况是数据太多,有几万条,而且是10分钟左右数据库会多一条数据。我原来对这些数据的处理方法是: 如果用户下载。 我只能查询数据库一条一条写入这个excel文件中。 再将这个文件提供给用户下载。
    考虑多数据太多,而且多几个用户下载 服务器基本崩溃了,容易出错。所以现在想通过以下方法解决
    在特定的目录(比如c:\)留一个专门的excel文件admin.xls.用户点击下载时 我将通过 
     "select * from ["+sheetname+"]" 得到这个excel的数据以dataTable(dt)返回(已经实现)
    再找到这个dt数据最后一条的采集时间。根据这个时间查询数据库。将不在这个excel文件中的数据写入这个文件。
    现在就是写入文件时 总是会覆盖掉原来的数据。
    如果又更好的方法也想请各位大侠给个思路。