none
C# ile excel sayfa isimlerini alamıyorum RRS feed

  • Genel Tartışma

  • merhaba aşağıda belirttiğim şekilde seçtiğim excel dosyasındaki sayfa isimlerini gridde göstermek istiyorum fakat bitürlü yapamadım.bu şekilde yaptığımda gride herhangi bir şey gelmiyor.

     Excel.Application oXL = new Excel.Application();
                    Excel.Workbook oWB = oXL.Workbooks.Open(openFileDialog1.FileName);
                    oXL.Visible = false;
                    //True de excel sayfası açıldı.

                    List<object> Liste = new List<object>();
                
                    foreach (Excel.Worksheet oSheet in oWB.Sheets)
                    {
                        int Sheet;
                        Sheet = Convert.ToInt32(oSheet.Name);
                        {
                            Liste.Add(Sheet);                      
                        }
                    }
                    dataGridView2.DataSource = Liste;

    11 Temmuz 2016 Pazartesi 13:21

Tüm Yanıtlar

  • 1) Listeyi List<object> seklinde yaratmanin, 

    2) Sheet adlarini integer'a cevirmenin (cevirimin basarili olup olmadigini kontrol etmiyorsun)

    amaci ne? Basta yapmak istediginin sayfa isimlerini gostermek oldugunu soyluyorsun, yani ihtiyacin List<string>, oyle degil mi?

    Excel.Application oXL = new Excel.Application();
    Excel.Workbook oWB = oXL.Workbooks.Open(openFileDialog1.FileName);
    
    List<string> liste = new List<string>();
    foreach (Excel.Worksheet oSheet in oWB.Worksheets)
    {
    	liste.Add(oSheet.Name);
    }
    oXL.Quit();
    dataGridView2.DataSource = liste;
    

    11 Temmuz 2016 Pazartesi 14:22
    Yanıtlayıcı
  • cevabınız için teşekkür ederim ama bu şekilde gride length diye başlık altında sayfa isminin karakter sayısını getiriyor sayani sayfa ismi Sayfa1 ise gridede 6 yazıyor ben direk sayfa ismi yazsın istiyorum.

    amacım seçilmiş olan excel içerisindeki sayfaların isimlerini gridde göstermek

    Teşekkür ederim


    12 Temmuz 2016 Salı 05:36
  • Benim hatam.

    dataGridView2.DataSource = liste.Select(x => new {SayfaAdi = x}).ToList();

    12 Temmuz 2016 Salı 08:55
    Yanıtlayıcı
  • İlgili cevap için teşekkür ederim gayet güzel çalışıyor ellerinize sağlık saolun
    20 Temmuz 2016 Çarşamba 13:47
  • Tekrardan merhaba konuyla alakalı ufak bir soruum oluştu kodlama gayet güzel çalışıyor elinize sağlık fakat program sadece xlsx yani çalışma kitabı olan excelleri açıyor excel xlsx ise 97-2003 formatında ise dosya bulunamadı diye hata veriyor sorunu nasıl çöze bilirim. teşekkürler
    25 Temmuz 2016 Pazartesi 12:23
  • Kusura bakma ne demek istedigini anlamiyorum, bende en eski (1996) xls dosyalarinda bile normal calisiyor. Ozel olarak Excel 5 ve Excel 97-2003 formatlarinda da denedim, normal calisti.

    Not: Hem xlsx hem 97-2003 formati olmaz. O zaman Excel'de bir hata var, dosyayi hala OOD imis gibi acmaya calisiyor (xlsx OOD). Ofis takimi bu hatayi hala farkedip duzeltmedi ne yazik ki (hatta bu bir hata olmasina ragmen hata olarak kabul ettiklerinden bile emin degilim).  

    25 Temmuz 2016 Pazartesi 13:09
    Yanıtlayıcı
  • Ben yanlış belirtmişim pardon şimdi bir excelim var ben bunu programa xlsx olarak veridiğimde sorunsuz çalışıyor. fakat aynı exceli farklı kaydet diyip xls olarak (97-2003) diye geçiyor excelde verdiğimde dosyaya erişilemiyor. Dosya bozuk veya salt okunur olabilir ya da yanıt vermeyen bir sunucuda bulunabilir diyor. excelde herhangi bir sorun olmamasına rağmen.

    Teşekkür ederim tekrardan

    25 Temmuz 2016 Pazartesi 13:29
  • Kusura bakma, ben soyledigin problemi ozellikle yaratmaya calissam da basaramiyorum, bende hep normal calisiyor.

    Not: 97-2003 formatindaki dosyayi xlsx uzantisiyla degil xls olarak sakladigindan, ve gercekten var olan, erisim haklarinin oldugu bir dosya oldugundan emin ol.

    25 Temmuz 2016 Pazartesi 13:47
    Yanıtlayıcı
  • ilgilendiğiniz için teşekkür ederim dediklerinizi dikkate alarak tekrardan gözden geçiriyorum. çözüm bulur yada sorunu tam olarak fark edersem tekrardan sizlerle paylaşacağım.

    Kolay gelsin.

    25 Temmuz 2016 Pazartesi 14:14
  • merhaba konuyla alakalı sorunu buldum seçtiğim excel arkada açıksa sorunsuz çalışıyor formatına bakmaksızın sayfa isimlerini alabiliyorum. fakat seçtiğim excel kapalı şekilde ise program dosya bozuk olabilir diye hata veriyor sorunu bulamadım bi türlü yardımlarınızı bekliyorum teşekkürler
    1 Ağustos 2016 Pazartesi 13:18
  • Soyledim ya, sorun filan yok. 97-2003 formatindaki dosyayi xlsx olarak adlandirmayin.
    1 Ağustos 2016 Pazartesi 13:30
    Yanıtlayıcı