1. sayfa
İnterop excell.dll die nette ara onunla projeno derle Veya sunucuna office kur |
dll li yükledim daha sonra ofisi de kurdum fakat u sefer de aşağıdaki hatayı verdi. < Resime gitmek için tıklayın > |
ensonunda mesela nasıl türettiysen excl.Quit(); kullan çünkü sen her butana bastığında excel üretiyor görvyöneticinsende bakabilirsin. |
Bilgi için saolun hocam fakat sorunu çözemeyince forum sitelerinden excele aktarma kodları ile sorunu çözmüştüm |
forum sitelerinden excele aktarma kodları ile çözdüm derken?. biraz daha açabilir misin bende powerpoint le ilgili işlem yaparken bu hatayı alıyorum da yardımcı olabilme şansın var mıdır acaba ? |
Bu hatayla ben de zamanında çok karşılaştım. Excel kapatılmadığı için veriyor. Fakat quit() metodu ile yaramıyor. O yüzden kendinize bir metod yazmanız lazım. Bilgisayarı açtığımda paylaşırım excelden veri alma ve excel e veri aktarma kodları da var. |
Konu yeniden gündeme gelmiş ama tavsiyem Interop yerine OpenXML kullanmanız. Kendinize sınıf yaratıp o şeklide kullanırsanız daha verimli olur. https://github.com/OfficeDev/Open-Xml-PowerTools veya EEPLus ExcelLibrary ClosedXML vs. |
Teşekkürler. Kimi zaman ExcelLibrary' i ben de kullanmıştım fakat müşteri bazı hücrelerin renklendirilmesini ve formüle edilmesini isteyince Interop üzerinden gitmiştim. Şöyle iki parça kod ile çözmüştüm. public DataTable GetDataFromExcel() private void releaseObject(object obj) ReleaseObject metodu; Excel açık kalırsa saçma sapan hatalar verdiği için kullanılıyor. Stackoverflow' da zamanında araştırırken denk gelmiştim. Tabi kodlar biraz karışık fakat temel kısımları anlaşılıyor. Edit: SQL'de ki nokta ve virgül farkları yüzünden onları da değiştiriyor. Formül ekleyen ve hesaplama yapan bir metod daha var istenirse paylaşabilirim. |
Kusura bakmayın yorumu biraz geç gördüm. O zamanlar başka bir projeye yazdığım için şuan kaynak kodlar yok fakat o zaman ki uygulamadığım yöntemi hatırlıyorum. Sorun biraz da o sayfada ki aspx ve c# kaynaklı bir sorundu. Bende bir tane paravan sayfa hazırlayıp response.writre ile parametreli bir şekilde paravan sayfaya yönlendirip page loadın da da excele aktarma işlemini yapmıştım sorun çözülmüştü. (Excele aktarma kodları aynı idi) |
1. sayfa
Denediğim yöntem: Projeyi x86 da publish ettim fakat yine olmadı. Benim asıl merak ettiğim husus; publish ettikten sonra Bin klasörüne ilgili Interop.Excel referansı gelmiyor, sunucuda bulunan Bin klasörünü elle yapıştırdım fakat yine olmadı.
Not: Windows Server tarafında ayar yapılması ve referans dll in ilgili klasöre kopyalanması gerekebilir düşüncesindeyim, fakat hangi adımı nereye yapacağım onu çözemedim.
(Proje / Server içerisinde ilk defa excel e aktarım kullanılıyor.)
HATA METNİ:
Server Error in '/' Application.
Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Runtime.InteropServices.COMException: Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
< Resime gitmek için tıklayın >
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.