2015-12-21 40 views
0
頁面

服務器導出Excel有微軟Office 2003的代碼是如下創建和使用Microsoft.Office.Interop.Excel.dll refeshing的

在ASPX頁面

<asp:UpdatePanel ID="UpdatePanel2" runat="server"> 
    <ContentTemplate> 
    <asp:LinkButton ID="ExportExcel" runat="server" OnClick="ExportTabletoExcel_Click" OnClientClick="ExportTableJqueryMethod">ExportExcel</asp:LinkButton> 
</ContentTemplate> 
    <Triggers> 
    <asp:PostBackTrigger ControlID="ExportExcel" /> 
    </Triggers> 
</asp:UpdatePanel> 

在後面的代碼

using Excel1= Microsoft.Office.Interop.Excel; 
... 
protected void ExportTabletoExcel_Click(object sender, EventArgs e) 
{ 
Excel1.Application excelApp = new Excel1.Application(); 
...//Adding Data to Excel 
excelWorkBook.SaveAs(path, Excel1.XlFileFormat.xlWorkbookNormal); 
excelWorkBook.Close(); 

...//to download 
HttpContext.Current.Response.ContentType = "application/xls"; 
HttpContext.Current.Response.AppendHeader("content-disposition", "attachment; > filename=ExportedExcel.xls"); 
HttpContext.Current.Response.WriteFile(path + ".xls"); 
} 

在web.config中 <add assembly="Microsoft.Office.Interop.Excel, Version=11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"/>

上點擊Visual Studio中的excel下載就好了。但是,在服務器上運行相同的服務器刷新頁面,並沒有excel下載。

+0

備註:Excel(和其他Office應用程序)在無頭服務器環境中不受支持。有很小的(99%)機會讓你的服務器運行很多問題。 –

回答

0

不確定,但你應該檢查你的服務器IIS PoolEnable 32-bit Applications去應用程序池。右鍵點擊並進入高級設置

見下圖,

enter image description here

這應該是真實的。

+0

也檢查下載excel時必須拋出一些異常。此外,您必須在服務器上安裝ms office。否則這個DLL(Microsoft.Office.Interop.Excel)將不會在服務器上工作。 – pedram

+0

Microsoft服務器2003安裝在服務器上。 – Saahil

+0

然後你通過設置上面的位檢查到「真」嗎? – pedram