各位大侠:
  我想用dreamwear+asp.net做一个网站,涉及到在网页上读取,修改excel表格内容,不知道哪们有没有这方面的资料啊要,相关源码最好。

解决方案 »

  1.   

    http://community.csdn.net/Expert/topic/5196/5196093.xml?temp=.1549494
      

  2.   

    这种直接读取单元格的方法释放很重要。不然会锁进程   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();
        }
       }