1. sayfa
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. |
Merhaba. Visual Studio 2013 asp.net de excele aktarım işlemi yapıyorum. Aktarım işlemi localhost da yani kendi bilgisayarımda başarılı bir şekilde oluyor. Fakat yayınlamak için Publish edip Windows Server 2012 ye attığım zaman aşağıdaki hatayı veriyor. Sizce neden kaynaklanıyor olabilir 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 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.
İ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. |
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
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.
< Bu mesaj bu kişi tarafından değiştirildi Gabriel.Espaso -- 23 Eylül 2016; 9:51:54 >
Bu mesaja 1 cevap geldi. Cevapları Gizle