Excel.Application excel = null;
   Excel.Workbooks wbs = null;
   Excel.Workbook wb = null;
   Excel.Worksheet ws = null;
   Excel.Range range1 = null;
   object Nothing = System.Reflection.Missing.Value;
     
   try
   {
    excel = new Excel.Application();
    excel.UserControl = true;
    excel.DisplayAlerts = false;
                     
    excel.Application.Workbooks.Open(this.FilePath,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing ) ;
     
    wbs = excel.Workbooks;
    wb = wbs[1];
    ws = (Excel.Worksheet)wb.Worksheets["Sheet2"];
     
          
    int rowCount = ws.UsedRange.Rows.Count;
    int colCount = ws.UsedRange.Columns.Count;
    if (rowCount <= 0)
     throw new InvalidFormatException("文件中没有数据记录");
    if (colCount < 4 ) 
     throw new InvalidFormatException("字段个数不对");
     
    for (int i = 0;i    {     this.rowNo = i + 1;
     object[] row = new object[4];
     for (int j = 0;j<4;j++)
     {
      range1 = ws.get_Range(ws.Cells[i+2,j+1],ws.Cells[i+2,j+1]);
      row[j] = range1.Value;      if (row[0] == null)
      {
       this.isNullRecord++;
       break;
      }
     }
                    
     if (this.isNullRecord > 0)
      continue;     DataRow dataRow = this.readExcel(row);     if (this.isNullRecord == 1)
      continue;
   
     if (this.verifyData(dataRow) == false)
      errFlag++;
   
     this.updateTableCurr(dataRow);
    }
     
   }
   finally
   {
    if (excel != null)
    {
     if (wbs != null)
     {
      if (wb != null)
      {
       if (ws != null)
       {
        if (range1 != null)
        {
         System.Runtime.InteropServices.Marshal.ReleaseComObject(range1);
         range1 = null;
        }
        System.Runtime.InteropServices.Marshal.ReleaseComObject(ws);
        ws = null;
       }
       wb.Close(false,Nothing,Nothing); 
       System.Runtime.InteropServices.Marshal.ReleaseComObject(wb);
       wb = null;
      }
      wbs.Close();
      System.Runtime.InteropServices.Marshal.ReleaseComObject(wbs);
      wbs = null;
     }
     excel.Application.Workbooks.Close();
     excel.Quit();
     System.Runtime.InteropServices.Marshal.ReleaseComObject(excel);
     excel = null;
     GC.Collect();
    }
   }
在网上看到一段代码,其中throw new InvalidFormatException("");
this.isNullRecord
(this.verifyData(dataRow) == false)
这几句什么意思c#excel

解决方案 »

  1.   

    你需要引入微软提供的关于excel的dll
      

  2.   

    throw new InvalidFormatException  捕获错误记录并抛出
    isNullRecord   空格数据的个数
    verifyData  通过将指定的签名数据与为指定数据计算的签名进行比较来验证指定的签名数据。
      

  3.   

    怎么引入微软提供的关于excel的dll 
     InvalidFormatException  在哪个命名空间
      

  4.   

    throw new InvalidFormatException 是哪个命名空间
      

  5.   

    为什么我的报isNullRecord   没有定义
      

  6.   

    for (int i = 0;i    {     this.rowNo = i + 1;
         object[] row = new object[4];
         for (int j = 0;j<4;j++)
         {
          range1 = ws.get_Range(ws.Cells[i+2,j+1],ws.Cells[i+2,j+1]);
          row[j] = range1.Value;      if (row[0] == null)
    这一句是什么意思