本人在线等谢谢各位!贴出代码:
异常:  _Workbook workbook = workbooks.Add(path + "temp.xls");//这行报错说路径找不到
异常详细信息: System.Runtime.InteropServices.COMException: Excel 无法访问“temp.xls”。该文档可能为只读或加密文档。  
[COMException (0x800a03ec): Excel 无法访问“temp.xls”。该文档可能为只读或加密文档。]
   Microsoft.Office.Interop.Excel.Workbooks.Add(Object Template) +0
   Web.Pages.OrderApply.ExportExcel() in D:Ssys\OrderApply.aspx.cs:227
   Web.Pages.OrderApply.btnAdd_Click(Object sender, EventArgs e) in D:Ssys\OrderApply.aspx.cs:210
   System.Web.UI.WebControls.LinkButton.OnClick(EventArgs e) +118
   System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(String eventArgument) +113
   System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +9
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +176
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5563Microsoft.Office.Interop.Excel.Application app = new Microsoft.Office.Interop.Excel.Application();            if (app == null)
            {
                return;
            }
            app.Visible = false;
            app.UserControl = true;
            Workbooks workbooks = app.Workbooks;
            string path = Server.MapPath("//sys-resources//file//");
            _Workbook workbook = workbooks.Add(path + "temp.xls");//这里报错!!!!!                            
            Sheets sheets = workbook.Worksheets;
            _Worksheet worksheet = (_Worksheet)sheets.get_Item(1); //这里表示模板第一个sheet表
            _Worksheet worksheet1 = (_Worksheet)sheets.get_Item(2); //这里表示模板第二个sheet表
            _Worksheet worksheet3 = (_Worksheet)sheets.get_Item(3); //这里表示模板第三个sheet表
            _Worksheet worksheet4 = (_Worksheet)sheets.get_Item(4); //这里表示模板第四个sheet表
            _Worksheet worksheet5 = (_Worksheet)sheets.get_Item(5); //这里表示模板第五个sheet表
            _Worksheet worksheet6 = (_Worksheet)sheets.get_Item(6); //这里表示模板第五个sheet表
            // _Worksheet worksheet7 = (_Worksheet)sheets.get_Item(7); //这里表示模板第五个sheet表
            if (worksheet == null)
            {
                return;
            }            List<PDFrame.Model.PSYS_SITEWEB> list = (List<PDFrame.Model.PSYS_SITEWEB>)ViewState["sitewebinfo"];
            int a = 3,b =3, c =3, d =3, e = 3,f=3;
            for (int k = 0; k < list.Count; k++)
            {
                if (list[k].PR == 5)
                {
                    
                    worksheet.Cells[a, 1] = list[k].SITENAME;
                    worksheet.Cells[a, 2] = list[k].DOMAINNAME;
                    worksheet.Cells[a, 3] = list[k].PR;
                    worksheet.Cells[a, 4] = list[k].CNSALEPRICE;
                    worksheet.Cells[a, 5] =list[k].BaiDuInclude;
                    worksheet.Cells[a, 6]= GetIsNewSite(list[k].APPROVALDATE)?"新站":"否";//是否新站
                    worksheet.Cells[a, 7]=list[k].ISSOLE=="0"?"否":"是";//是否独占
                    worksheet.Cells[a, 8] = list[k].ISALLSITE=="0"?"否":"是";//是否全站
                    a++;
                }                if (list[k].PR == 6)
                {
                    worksheet1.Cells[b, 1] = list[k].SITENAME;
                    worksheet1.Cells[b, 2] = list[k].DOMAINNAME;
                    worksheet1.Cells[b, 3] = list[k].PR;
                    worksheet1.Cells[b, 4] = list[k].CNSALEPRICE;
                    worksheet1.Cells[b, 5] = list[k].BaiDuInclude;
                    worksheet1.Cells[b, 6] = GetIsNewSite(list[k].APPROVALDATE) ? "新站" : "否";//是否新站
                    worksheet1.Cells[b, 7] = list[k].ISSOLE == "0" ? "否" : "是";//是否独占
                    worksheet1.Cells[b, 8] = list[k].ISALLSITE == "0" ? "否" : "是";//是否全站
                    b++;
                }                if (list[k].PR == 7)
                {
                    worksheet3.Cells[c, 1] = list[k].SITENAME;
                    worksheet3.Cells[c, 2] = list[k].DOMAINNAME;
                    worksheet3.Cells[c, 3] = list[k].PR;
                    worksheet3.Cells[c, 4] = list[k].CNSALEPRICE;
                    worksheet3.Cells[c, 5] = list[k].BaiDuInclude;
                    worksheet3.Cells[c, 6] = GetIsNewSite(list[k].APPROVALDATE) ? "新站" : "否";//是否新站
                    worksheet3.Cells[c, 7] = list[k].ISSOLE == "0" ? "否" : "是";//是否独占
                    worksheet3.Cells[c, 8] = list[k].ISALLSITE == "0" ? "否" : "是";//是否全站
                   
                    c++;
                }                if (list[k].PR == 8)
                {
                    worksheet4.Cells[d, 1] = list[k].SITENAME;
                    worksheet4.Cells[d, 2] = list[k].DOMAINNAME;
                    worksheet4.Cells[d, 3] = list[k].PR;
                    worksheet4.Cells[d, 4] = list[k].CNSALEPRICE;
                    worksheet4.Cells[d, 5] = list[k].BaiDuInclude;
                    worksheet4.Cells[d, 6] = GetIsNewSite(list[k].APPROVALDATE) ? "新站" : "否";//是否新站
                    worksheet4.Cells[d, 7] = list[k].ISSOLE == "0" ? "否" : "是";//是否独占
                    worksheet4.Cells[d, 8] = list[k].ISALLSITE == "0" ? "否" : "是";//是否全站
                   
                    d++;
                }                if (list[k].PR == 9)
                {
                    worksheet5.Cells[e, 1] = list[k].SITENAME;
                    worksheet5.Cells[e, 2] = list[k].DOMAINNAME;
                    worksheet5.Cells[e, 3] = list[k].PR;
                    worksheet5.Cells[e, 4] = list[k].CNSALEPRICE;
                    worksheet5.Cells[e, 5] = list[k].BaiDuInclude;
                    worksheet5.Cells[e, 6] = GetIsNewSite(list[k].APPROVALDATE) ? "新站" : "否";//是否新站
                    worksheet5.Cells[e, 7] = list[k].ISSOLE == "0" ? "否" : "是";//是否独占
                    worksheet5.Cells[e, 8] = list[k].ISALLSITE == "0" ? "否" : "是";//是否全站
                   
                    e++;
                }                if (list[k].PR == 10)
                {                    worksheet6.Cells[f, 1] = list[k].SITENAME;
                    worksheet6.Cells[f, 2] = list[k].DOMAINNAME;
                    worksheet6.Cells[f, 3] = list[k].PR;
                    worksheet6.Cells[f, 4] = list[k].CNSALEPRICE;
                    worksheet6.Cells[f, 5] = list[k].BaiDuInclude;
                    worksheet6.Cells[f, 6] = GetIsNewSite(list[k].APPROVALDATE) ? "新站" : "否";//是否新站
                    worksheet6.Cells[f, 7] = list[k].ISSOLE == "0" ? "否" : "是";//是否独占
                    worksheet6.Cells[f, 8] = list[k].ISALLSITE == "0" ? "否" : "是";//是否全站
                   
                    f++;                }            }            string fileStr = path + "Demo.xls";
            if (File.Exists(fileStr))
            {
                File.Delete(fileStr);
            }
            workbook.SaveAs(fileStr, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);

解决方案 »

  1.   

    1。确认文件存在,路径正确
    2。右键文件,看只不是只读属性
    3。确认权限,如果不清楚可以先设置成everyone完全控制
    4。如果这个文件是新建的,要保存到某文件夹下,则要确认用户对文件夹有写权限调试吧
      

  2.   

    我靠,没注意是WEB的,  这要先上传到服务器,然后以server.mappath后的服务器路径访问, WEB程序只对自己根目录下的文件有操作权限。
    你的客户端将来和服务器是不在一台机器上的, 服务器怎么可能直接访问客户端的文件啊
      

  3.   


    我发布后访问的,我是用server.mappath获取的,他直接就是说找不到那文件呢!