Forum

Datagridview excel
 
Bildirimler
Hepsini Temizle

[Çözüldü] Datagridview excel

Yıldırım bakar
(@yildirimbakar)
Üye

Merhaba Arkadaşlar;

Datagridviewdeki verileri excele aşağıdaki gibi aktarıyorum. Fakat datagridviewdeki 5. sütunda gelen saat verisinin Sqldeki tipi time olarak tanımlı olduğu için bu sütundaki veriler boş geliyor. Sql'de tipini varchar yaparsam bu sütun dolu geliyor. Ben sql'de time olarak ayarlayıp datagridviewden bu verileri excel'e nasıl atabilirim acaba.

Teşekkür ederim. 

 

private void exceleAktarToolStripMenuItem_Click(object sender, EventArgs e)
{

Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
excel.Visible = true;

object Missing = Type.Missing;

Microsoft.Office.Interop.Excel.Workbook workbook = excel.Workbooks.Add(Missing);
Microsoft.Office.Interop.Excel.Worksheet sheet1 = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Sheets[1];
int StartCol = 1;
int StartRow = 1;
for (int j = 0; j < dgv_MisArac.Columns.Count; j++)
{
Microsoft.Office.Interop.Excel.Range myRange = (Microsoft.Office.Interop.Excel.Range)sheet1.Cells[StartRow, StartCol + j];
myRange.Value2 = dgv_MisArac.Columns[j].HeaderText;
}
StartRow++;
for (int i = 0; i < dgv_MisArac.Rows.Count; i++)
{

for (int j = 0; j < dgv_MisArac.Columns.Count; j++)
{
try
{
DataGridViewCell cell = dgv_MisArac[j, i];
sheet1.Cells[i + 2, j + 1] = cell.Value;
}
catch
{
}
}
}

}

Alıntı
Konu başlatıcı Gönderildi : 26/11/2021 10:03
Serkan Ateş
(@SerkanAtes)
Üye

Merhaba;

Kod yapınız nesnel programlama standartlarına uygun değil. Bir sınıf oluşturup sınıf  içerisine verinizi çekip bunu excel'e yazdırmalısınız. Datagridview nesnesinden direkt excel'e aktarmak teorik olarak yapılabilir ama bu tür sorunlar yaşarsınız. Zaman ayırıp, benzer örneği kendisinde yaratıp, çözüm üretecek arkadaşlara saygı duyarım.

İyi günler.

CevapAlıntı
Gönderildi : 26/11/2021 14:47
Yıldırım bakar
(@yildirimbakar)
Üye

Merhaba Serkan bey;

Cevabınız için teşekkür ederim. sheet1.Cells[i + 2, j + 1] = cell.Value; value.tostring() olarak değiştirince sorun düzeldi.

CevapAlıntı
Konu başlatıcı Gönderildi : 26/11/2021 15:15
Serkan Ateş
(@SerkanAtes)
Üye

Geri bildirim için teşekkürler.

CevapAlıntı
Gönderildi : 26/11/2021 15:34
Paylaş: