Excel.Application _excelApp;
for(int i=1;i<=sheets.Count;i++)
{
_excelApp = new Excel.Application();
_excelApp.Application.Workbooks.Add(true);
_excelApp.Application.Workbooks.Add(sheets[i]); //<----是这句出错
_excelApp.Save(string.Format(@"{0}\sheet{1}", filename, i));
}功能是将一个Excel表中所有的工作表取出后保存为一个新的独立的Execl文件

解决方案 »

  1.   

    如果只是复制一份excel的话就用api函数,比这方便,两行代码就搞定了
    定义:
    Private Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Boolean) As Boolean调用:
    Call CopyFile(App.Path & "\gl.xls", str, False)
    这是VB中的写法,自己转成C#吧
      

  2.   

    不是复制文件,是将Excel文件里所有的sheets导出为一个单独的文件