从IIS运行应用程序时,无法在特定路径上创建excel文件。但是它是在使用visual 2008调试代码时创建的,甚至我也尝试过使用绝对路径和server.mappath()函数,但是在vain.Server中会抛出错误: HTTP 404。您正在寻找的资源(或其依赖项之一)可能已被删除、名称更改或暂时不可用。请检查以下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);
}
}发布于 2012-01-04 14:34:42
从类似服务器的场景中使用Office (IIS/ASP.NET/Windows服务.)不受MS的支持吗?参见http://support.microsoft.com/default.aspx?scid=kb;EN-US;q257757#kb2
另一点是,由于windows vista已经发生了一些与安全相关的更改,从而阻止了任何类似桌面的事情(例如打印、写入网络共享.)。从Windows服务..。
替代互操作:
在没有Interop的情况下,有许多读取/编辑/创建Excel文件的选项:
MS提供免费的OpenXML SDKV2.0-参见http://msdn.microsoft.com/en-us/library/bb448854%28office.14%29.aspx (仅限于XLSX)
这可以read+write MS办公文件(包括Excel)。
另一个免费选项参见http://www.codeproject.com/KB/office/OpenXML.aspx (仅限于XLSX)
如果您需要更多类似于处理较早的Excel版本(比如XLS,而不仅仅是XLSX)、呈现、创建PDF、公式等,那么就会有不同的免费和商业库,比如ClosedXML (免费的,仅限于XLSX )、EPPlus (免费的,仅限于XLSX )、Aspose.Cells、SpreadsheetGear、LibXL和Flexcel等。
https://stackoverflow.com/questions/8728403
复制相似问题