Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
0
Cevap
1206
Tıklama
0
Öne Çıkarma
c#Listview den Excel e veri aktarma 'HRESULT özel durum döndürdü: 0x800AC472' hatası Acil Yardım !!
K
4 yıl
Onbaşı
Konu Sahibi

Aşağıdaki kodlamayla listview den exel e veri aktarıyorum. anck aktarma esnasında  System.Runtime.InteropServices.COMException: 'HRESULT özel durum döndürdü: 0x800AC472' hatası alıyorum. acil olarak bana bu konuda yardımcı olur musunuz nerede takılıyor bu kodlama


public void eexcelAktar(ListView lw, ProgressBar pb = null)
    {
      try
      {
        Microsoft.Office.Interop.Excel.Application xls = new Microsoft.Office.Interop.Excel.Application();
        
        
        Workbook wb = xls.Workbooks.Add(XlSheetType.xlWorksheet);
        Worksheet ws = (Worksheet)xls.ActiveSheet; // çalışma alanı aktif çalışma alanı

        xls.Visible = true; // görünürlük aktif
        #region manuelBaslikalani
        // alanları manuel olarak yazıyoruz
      
        #endregion
        // Eğer Progress bar nesnesi null değil ise sıfırlama ve ayarlama işlemini gerçekleştir
        if (pb != null)
        {
          pb.Maximum = Convert.ToInt32(lw.Items.Count.ToString());
          pb.Value = 0;
        }

        // Şimdi ise dinamik olarak colon bilgilerini alıyoruz ekliyoruz
        for (int i = 0; i < lw.Columns.Count; i++)
        {
          // alanları manuel olarak yazıyoruz
          ws.Cells[1, i + 1] = lw.Columns.Text.ToString();
        }
        // Şimdi de lw içerisindeki verileri dinamik olarak aktarıyoruz
        int _i = 2; // 2. satırdan itibaren içerikleri doldurmaya başla
        int j = 1;
        foreach (ListViewItem item in lw.Items)
        {
          ws.Cells[_i, j] = item.Text.ToString();
          foreach (ListViewItem.ListViewSubItem subitem in item.SubItems)
          {
            ws.Cells[_i, j] = subitem.Text.ToString();
            j++;
          }
          j = 1;
          _i++;
          // Eğer Progress bar nesnesi null değil ise artırma işlemini yap
          if (pb != null)
          {
            pb.Value = _i - 2;
          }

        }
        // column sütunları yazı boyutuna göre ayarlıyor
        xls.Columns.AutoFit();

        // aktarama işlemi sırasında alabileceğimiz hatalara karşı önlem olarak hata bastırma işlemi yapılıyor
        xls.AlertBeforeOverwriting = false;

      }
      catch (Exception)
      {
        // hata fırlatıyoruz :)
        throw;
      }
    }

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.

Üye Ol Şimdi Değil



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.