Forum

IIS Office(Excel) A...
 
Bildirimler
Hepsini Temizle

IIS Office(Excel) Ayarları

4 Yazılar
3 Üyeler
0 Reactions
1,792 Görüntüleme
(@bayraktar06)
Gönderiler: 2
New Member
Konu başlatıcı
 

Merhaba,

ASP.NET(C#) tabanlı hazırladığım bir web sayfasında oluşturduğum bir GridView aracına veritabanından çektiğim verileri, Excel dosyası olarak dışa aktarmak istiyorum. Bunun için de kullandığım kodlar şu şekildedir:

using Excel = Microsoft.Office.Interop.Excel;

...

protected void btnExcel_Click(object sender, EventArgs e)
{
Response.ClearContent();
Response.AddHeader("Content-Disposition", "attachment; filename=Log_Kaydi.xls");
Response.ContentType = "application/excel";
Response.ContentEncoding = System.Text.Encoding.Unicode;
Response.BinaryWrite(System.Text.Encoding.Unicode.GetPreamble());
StringWriter tw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(tw);
grid.RenderControl(hw);
Response.Write(tw.ToString());
Response.End();
}

 

Bu sistem ile GridView ile br sayfada oluşturulmuş olan bir tabloyu butona tıklandığında excel olarak dışa aktarılacak. Sistem Local de gayet güzel çalışıyor. Ancak dosyaları Windows Server'da wwwroot içerisine gönderip, internette sayfayı açmayı denediğimde aşağıdaki hatayı alıyorum. 

Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately. 

Compiler Error Message: CS0234: The type or namespace name 'Office' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?)

Source Error:

Line xx: using Excel = Microsoft.Office.Interop.Excel;

 

Bu sorunu düzeltmek için sunucu üzerinde ne gibi ayarlar yapmak gerekmektedir? 

 

NOT: Konu Server'da bazı ayarlar yapılması gerektirdiğini düşündüğüm için bu başlık altına açtım. İyi çalışmalar dilerim.

 
Gönderildi : 05/04/2018 14:52

(@aliuysal)
Gönderiler: 292
Üye
 

Microsoft.Office.Interop.excel dll dosyası iis klasörü içerisinde mevcut mu?

Dijital dönüşüm başlıyor...
RFID Sayım
WinFlow e-Fatura Onay Akış Süreç Yazılımı
Android El Terminali
Elektrikli Araç Şarj Yazılım Platformu
RFID Demirbaş
QrCode Api

 
Gönderildi : 06/04/2018 02:37

(@JiyanEpozdemir)
Gönderiler: 16
Active Member
 

Merhaba,

Sunucuda office kurulu olması gerekiyor olabilir. Eğer kuruluysa referans dll in properties pencereesinde copytolocal işaretlendiğinden emin olduktan sonra tekrar deneyin.

 
Gönderildi : 06/04/2018 03:20

(@JiyanEpozdemir)
Gönderiler: 16
Active Member
 

Ayrıca ekstrem bir işlem için kullanmıyorsanız, interop dll alternatif olarak direkt html <table<tr markup’ını direkt response yazdırarak excel mime type şeklinde indirtmek daha rahat olur.

 
Gönderildi : 06/04/2018 03:25

Paylaş: