请教怎么才能在Web方式下打开Excel并可以填入数据,然后保存到数据库里面
我想在web页面中打开excel模板,并且可以往里面填入数据,根据公式计算,然后倒入到数据库中去,
各位有没有详细代码,谢谢

解决方案 »

  1.   

    我这有一点代码
    不知道对你有没有用
    首先要加入com 组件Microsoft.Excel 9.0 lib....
    #region 打開模板文件寫入數據並進行垃圾回收
    private string ReadAndWrite()
    {
    Excel.ApplicationClass excel = null;
    Excel.Workbooks workbooks;
    Excel.Workbook workbook;
    Excel.Worksheet worksheet;
    Excel.Sheets worksheets;
    excel = new Excel.ApplicationClass();
    excel.Visible=true;
    workbooks = excel.Workbooks;
    workbook = workbooks.Open(Server.MapPath("./Templet.xls"),Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value); //模板文件
    worksheets = (Excel.Sheets)excel.Worksheets;
    worksheet = (Excel.Worksheet)worksheets.get_Item("detail");
    worksheet.Activate();     
    Missing miss=Missing.Value; for(int i=0;i<dtCost.Rows.Count;i++ )
    {
    for(int j=0;j<dtCost.Columns.Count;j++)
    {      
    excel.Cells[i+2,j+1]=dtCost.Rows[i][j].ToString();
    }
    } string strFileName=Guid.NewGuid().ToString()+".xls";
    workbook.RefreshAll();
    workbook.SaveAs(Server.MapPath("./Temp/")+strFileName,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Excel.XlSaveAsAccessMode.xlNoChange,Missing.Value,Missing.Value,Missing.Value,Missing.Value);//保存表格到臨時文件夾 #region 關閉進程及垃圾回收
    workbook.Close(false,miss,miss);
    workbooks.Close();
    excel.Quit();
    //System.Runtime.InteropServices.Marshal.ReleaseComObject();
    System.Runtime.InteropServices.Marshal.ReleaseComObject(worksheet);
    System.Runtime.InteropServices.Marshal.ReleaseComObject(workbook);
    System.Runtime.InteropServices.Marshal.ReleaseComObject(workbooks);
    System.Runtime.InteropServices.Marshal.ReleaseComObject(excel);
    GC.Collect();
    #endregion

    return strFileName; }
    #endregion
      

  2.   

    你可以到http://ntko.com这个网站去看看
      

  3.   

    可以参见我写的:
    http://www.cnblogs.com/linfuguo/archive/2006/03/23/357155.html