Forum

Datagridview excel ...
 
Bildirimler
Hepsini Temizle

[Çözüldü] Datagridview excel veri aktarma

4 Yazılar
2 Üyeler
0 Reactions
770 Görüntüleme
(@yildirimbakar)
Gönderiler: 104
Estimable Member
Konu başlatıcı
 

Merhaba Arkadaşlar;

Datagridview'den excele aşağıdaki gibi veri aktardığımda Excel'de 13.satırdan itibaren datagridviewdeki tüm değerleri aktarıyor. Fakat ben datagridview'in 3. sütunundakileri excelde 13. satırdan itibaren ilk sütuna ,  4. sütunundakileri excelde 13. satırdan itibaren ikinci sütuna vs. getirmek istediğimde bunu nasıl yapabilirim acaba ?

Teşekkür ederim.

for (int i = 0; i < dataGridViewGuncelle.Rows.Count; i++)
{
for (int j = 1; j < dataGridViewGuncelle.Columns.Count; j++)
{
try
{
DataGridViewCell cell = dataGridViewIlkNumuneGuncelle[j, i];
sayfa1.Cells[i + 13, j + 1] = cell.Value;
}
catch
{
}
}
}

 
Gönderildi : 21/07/2023 16:55

Hakan Uzuner
(@hakanuzuner)
Gönderiler: 33322
Illustrious Member Yönetici
 

Merhaba,

DataGridview'den belirli sütunlardaki verileri Excel'e aktarırken, iç içe geçmiş iki döngü kullanmak yerine daha düzenli bir şekilde işlem yapabilirsiniz. Örneğin, sadece 3. sütundaki verileri ilk sütuna, 4. sütundaki verileri ikinci sütuna vb. aktarmak için aşağıdaki gibi bir yaklaşım kullanabilirsiniz:

// Önce Excel uygulamasını başlatın ve yeni bir çalışma kitabı oluşturun
Microsoft.Office.Interop.Excel.Application excelApp = new Microsoft.Office.Interop.Excel.Application();
Workbook workbook = excelApp.Workbooks.Add(Type.Missing);
Worksheet sayfa1 = workbook.ActiveSheet;

// DataGridView'deki verileri belirli sütunlara göre Excel'e aktarın
for (int i = 0; i < dataGridViewGuncelle.Rows.Count; i++)
{
// 3. sütun (DataGridView'de 2. indeks) -> 1. sütun (Excel'de 1. indeks)
DataGridViewCell cellSutun3 = dataGridViewGuncelle[2, i];
sayfa1.Cells[i + 13, 1] = cellSutun3.Value;

// 4. sütun (DataGridView'de 3. indeks) -> 2. sütun (Excel'de 2. indeks)
DataGridViewCell cellSutun4 = dataGridViewGuncelle[3, i];
sayfa1.Cells[i + 13, 2] = cellSutun4.Value;

// İhtiyaç duyduğunuz diğer sütunlara aynı şekilde devam edebilirsiniz.
}

// Excel dosyasını kaydedin ve Excel uygulamasını kapatın
string excelDosyaYolu = "C:\\example.xlsx"; // Kaydetmek istediğiniz dosya yolunu belirtin
workbook.SaveAs(excelDosyaYolu);
workbook.Close();
excelApp.Quit();

Yukarıdaki kodda, dataGridViewGuncelle adlı DataGridView'deki 3. sütun (DataGridView'de 2. indeks) ve 4. sütun (DataGridView'de 3. indeks) verileri, sırasıyla Excel'de 13. satırdan başlayarak 1. sütun ve 2. sütuna yazılır. İhtiyacınıza göre bu kodu diğer sütunlar için genişletebilirsiniz.

Ayrıca, Excel uygulamasını kullanmadan önce projenize "Microsoft.Office.Interop.Excel" adlı bir NuGet paketi eklemeyi unutmayın. Bu paket, Excel işlemleri için gerekli olan COM nesnelerine erişim sağlar.

Kaynak: ChatGPT

Danışman - ITSTACK Bilgi Sistemleri
****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

 
Gönderildi : 21/07/2023 21:20

(@yildirimbakar)
Gönderiler: 104
Estimable Member
Konu başlatıcı
 

@hakanuzuner 

Çok teşekkür ederim Hakan bey.

 
Gönderildi : 24/07/2023 10:35

Hakan Uzuner
(@hakanuzuner)
Gönderiler: 33322
Illustrious Member Yönetici
 

Rica ederim.

Danışman - ITSTACK Bilgi Sistemleri
****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

 
Gönderildi : 24/07/2023 10:57

Paylaş: