Excel.ApplicationClass xlApp = new Microsoft.Office.Interop.Excel.ApplicationClass();
   if (xlApp == null)
        {
            throw new Exception("无法创建Excel对象,可能您的机器未安装Excel");
        }
        //得到物料清单里的第五个工作薄
        Excel.Workbook workbook;
        try
        {
            workbook = xlApp.Workbooks.Open(file, 0, true, 5, "", "", false, Excel.XlPlatform.xlWindows, "", true, false, 0, true, 1, 0);
        }
  我想在红色区域下加个条件 
  因为如果没有5个sheet页程序就报错了
  我得避免这种错误的发生 加个条件判断来限制下
  如果不存在就让程序找到第一个好了 一个sheet页还是有的吧 这样可以避免操作人员的误操作而带来的错误
  哪位大侠知道的指点指点 帮忙写下 先谢谢了

解决方案 »

  1.   

    //获得sheet的数量 
    int SheetCount = workbook .Worksheets.Count; 
      

  2.   

    嗯,或者读excel文件成dataset,然后判断DataTable的张数,ds.Tables.Count.
      

  3.   


    这样不是只得到excel文件的数量吗?
      

  4.   

    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 <workBook.Sheets.Count;i++)   
    {   
    ((Excel.Worksheet)workBook.Worksheets.get_Item(i)).Copy(missing,workBook.Worksheets[i]);   
     
    }