Forum

Datagridview excel
 
Bildirimler
Hepsini Temizle

[Çözüldü] Datagridview excel

4 Yazılar
2 Üyeler
0 Likes
1,625 Görüntüleme
(@yildirimbakar)
Gönderiler: 97
Estimable Member
Konu başlatıcı
 

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
{
}
}
}

}

 
Gönderildi : 26/11/2021 10:03

(@serkanates)
Gönderiler: 1275
Ü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.

 
Gönderildi : 26/11/2021 14:47

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

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.

 
Gönderildi : 26/11/2021 15:15

(@serkanates)
Gönderiler: 1275
Üye
 

Geri bildirim için teşekkürler.

 
Gönderildi : 26/11/2021 15:34

Paylaş: