Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从IIS运行应用程序(asp.net)时无法创建excel文件_C#_Asp.net_Iis_Excel Interop - Fatal编程技术网

C# 从IIS运行应用程序(asp.net)时无法创建excel文件

C# 从IIS运行应用程序(asp.net)时无法创建excel文件,c#,asp.net,iis,excel-interop,C#,Asp.net,Iis,Excel Interop,从IIS运行应用程序时,无法在特定路径创建excel文件。但它是在使用visual studio 2008调试代码时创建的。甚至我也尝试过使用绝对路径和server.mappath()函数,但都没有成功。服务器抛出错误:HTTP 404。您正在查找的资源(或其依赖项之一)可能已被删除、名称已更改或暂时不可用。请检查以下URL并确保其拼写正确。 请求的URL:/Error.aspx 代码如下: private void CreateExcel(DataTable dt) {

从IIS运行应用程序时,无法在特定路径创建excel文件。但它是在使用visual studio 2008调试代码时创建的。甚至我也尝试过使用绝对路径和server.mappath()函数,但都没有成功。服务器抛出错误:HTTP 404。您正在查找的资源(或其依赖项之一)可能已被删除、名称已更改或暂时不可用。请检查以下URL并确保其拼写正确。 请求的URL:/Error.aspx

代码如下:

private void CreateExcel(DataTable dt)
    {
        try
        {

        FilePath =  "\\\\192.168.1.252\\GNC Reports\\TallyExport.xls";
            Excel.Application oXL = new Excel.Application();

            //Get a new workbook.
            Excel._Workbook oWB = (Excel._Workbook)(oXL.Workbooks.Add(Type.Missing));

            // *************** Sheet 1
            Excel._Worksheet oSheet = (Excel._Worksheet)oWB.Sheets["Sheet1"];
            oSheet.Name = "Journal";
            WriteWxcel(oSheet, dt, 3);

            //***************** Sheet 2
            oSheet = (Excel._Worksheet)oWB.Sheets["Sheet2"];
            oSheet.Name = "Payroll";
            WriteWxcel(oSheet, dt, 4);

            // ************* Sheet 3
            oSheet = (Excel._Worksheet)oWB.Sheets["Sheet3"];
            oSheet.Name = "Receipt";
            WriteWxcel(oSheet, dt, 2);

            //Save Excel File
            oWB.SaveAs(FilePath, Excel.XlFileFormat.xlWorkbookNormal, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Excel.XlSaveAsAccessMode.xlExclusive, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
            oXL.Quit();

        }
        catch (Exception ex)
        {
            BussinessLayer.CMSException.Instance.HandleMe(this, ex);
        }

    }

MS不支持从类似服务器的场景(IIS/ASP.NET/Windows服务…)使用Office互操作-请参阅

另一点是,自从windows vista以来,已经发生了一些与安全相关的更改,这些更改阻止从windows服务执行任何“类似桌面”的操作(例如打印、写入网络共享…)

互操作的替代方案:

有许多选项可以在不进行互操作的情况下读取/编辑/创建Excel文件:

MS提供免费的OpenXMLSDK2.0-请参阅(仅限XLSX)

可以读写MS Office文件(包括Excel)

另一个免费选项请参见(仅限XLSX)


如果您更需要处理旧的Excel版本(如XLS,而不仅仅是XLSX)、渲染、创建PDF、公式等,那么有不同的免费和商业库,如(免费,仅XLSX),(免费,仅XLSX),等等。

使用类似服务器的场景(IIS/ASP.NET/Windows Service…)中的Office互操作MS不支持-请参阅

另一点是,自从windows vista以来,已经发生了一些与安全相关的更改,这些更改阻止从windows服务执行任何“类似桌面”的操作(例如打印、写入网络共享…)

互操作的替代方案:

有许多选项可以在不进行互操作的情况下读取/编辑/创建Excel文件:

MS提供免费的OpenXMLSDK2.0-请参阅(仅限XLSX)

可以读写MS Office文件(包括Excel)

另一个免费选项请参见(仅限XLSX)


如果您需要处理更旧的Excel版本(如XLS,而不仅仅是XLSX)、渲染、创建PDF、公式等,那么有不同的免费和商业库,如(免费,仅XLSX),(免费,仅XLSX),等等。

yes。。我收到以下异常:::1-1/12/2012 3:59:53 PM ASP.tally\U tallyusercontrol\U tallyexport\U ascx-检索CLSID为{00024500-0000-0000-C000-0000000000 46}的组件的COM类工厂失败,原因是以下错误:80070005。-在c:\inetpub\wwwroot\GNC\Tally\TallyUserControl\TallyExport.ascx.cs中的Tally\TallyUserControl\TallyExport.CreateExcel(数据表dt)中:第523yes行。。我收到以下异常:::1-1/12/2012 3:59:53 PM ASP.tally\U tallyusercontrol\U tallyexport\U ascx-检索CLSID为{00024500-0000-0000-C000-0000000000 46}的组件的COM类工厂失败,原因是以下错误:80070005。-在c:\inetpub\wwwroot\GNC\Tally\TallyUserControl\TallyExport.ascx.cs中的Tally\TallyUserControl\TallyExport.CreateExcel(数据表dt)处:第523行