从未对excel进行操作过,这次需要往指定的某个单元格里面添加一条数据,很着急,希望能给出代码,还有命名空间,最好能直接运行的,先交了任务再仔细研究,多谢多谢。

解决方案 »

  1.   

    using Microsoft.Office.Interop.Excel;
    using MSExcel = Microsoft.Office.Interop.Excel;MSExcel.Application celapp = new MSExcel.ApplicationClass();
                object mss = System.Reflection.Missing.Value;
                MSExcel.Workbook celwbook =celapp.Workbooks.Open(System.Windows.Forms.Application.StartupPath +@"\excel\123.xlsx",mss,mss,mss,mss,mss,mss,mss,mss,mss,mss,mss,mss,mss,mss);
                MSExcel.Worksheet celsh = celwbook.ActiveSheet as MSExcel.Worksheet;
                celapp.Visible = true;
                celsh.Cells[1, 2] = s;
                string fs= System.Windows.Forms.Application.StartupPath + @"\excel\456.xlsx";
                celwbook.SaveAs(fs, mss, mss, mss, mss, mss, XlSaveAsAccessMode.xlNoChange, mss, true, mss, mss, mss);
                celapp.Quit();
    要在添加“Microsoft.Office.Interop.Excel”这个引用。
      

  2.   

    楼上的,我用这个方法调试的时候,写进去一次,但是也报错了。
    权限的问题
    ASP.NET 未被授权访问所请求的资源。请考虑授予 ASP.NET 请求标识访问此资源的权限。ASP.NET 有一个在应用程序没有模拟时使用的基进程标识(通常,在 IIS 5 上为 {MACHINE}\ASPNET,在 IIS 6 上为网络服务)。如果应用程序正在通过 <identity impersonate="true"/> 模拟,则标识将为匿名用户(通常为 IUSR_MACHINENAME)或经过身份验证的请求用户。 要将 ASP.NET 访问权限授予某个文件,请在资源管理器中右击该文件,选择“属性”,然后选择“安全”选项卡。单击“添加”添加适当的用户或组。突出显示 ASP.NET 帐户,选中所需访问权限对应的框。修改了权限还是这样。。
      

  3.   

    写入的时候把原来的xls替代了,而不是修改,怎么办呢?
      

  4.   

    用OleDB吧。这个应该没有问题。string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + excelFile + ";" +"Extended Properties=Excel 8.0;";
                OleDbConnection conn = new OleDbConnection(strConn);
                conn.Open();
                string strExcel = "XXXbD";
                OleDbCommand olecomm = new OleDbCommand("CREATE TABLE " + strExcel + "(人员编号 varchar(10), 人员姓名 varchar(30);", conn);
                olecomm.ExecuteNonQuery();
                olecomm.CommandText = "DELETE FROM " + strExcel + "";
                olecomm.ExecuteNonQuery();
                olecomm.CommandText = "INSERT INTO " + strExcel  + " VALUES('0901010001', '张三虎')";
                
    修改操作也是相近的啦。