Excel.Application app = new Excel.ApplicationClass();   
app.Visible = true;   
Excel.Workbook workBook = app.Workbooks.Open(templetFile,missing,missing,missing,missing,missing,missing,missing,missing,missing,missing,missing,missing);   
Excel.Worksheet workSheet = (Excel.Worksheet)workBook.Sheets.get_Item(1);   
for(int i=1;i <sheetCount;i++)   
{   
((Excel.Worksheet)workBook.Worksheets.get_Item(i)).Copy(missing,workBook.Worksheets[i]);   
 
}
我现在可以动态的创建sheet但是如何能获得这个新建的sheet啊????

解决方案 »

  1.   

    创建的时候,给SHEET取个名字
    获取时根据名称获取:(Excel.Worksheet)sheets.get_Item("Sheet1");
      

  2.   

    ((Excel.Worksheet)workBook.Worksheets.get_Item(i)).Copy(missing,workBook.Worksheets[i]); 这句怎么给他定义名称啊?这个也是我之前问的问题的答案
      

  3.   

    不明白啊,我现在需要在新建的那些sheet里面填入一些信息,用你之前的循环创建然后获得sheet就可以了啊
      

  4.   

    用NPOI: FileStream stream = new FileStream(txtExcelPath.Text, FileMode.Open, FileAccess.ReadWrite);
              HSSFWorkbook hssfworkbook = new HSSFWorkbook(stream, true);
    Sheet sheet2 = hssfworkbook.CreateSheet("sheet2");