Veriler bir Excel sayfasına datagurid satırları vermeyi deniyorum. Bir WinForms (dataGridView) 'dan WPF 'a (dataGrid) geçiş yaptığım için ve şu ana kadar WPF hakkında hiçbir fikrim yok Yardımınıza ihtiyacım var.excel'e aktarım için datagrid satırları üzerinden yineleme (tekrar)
Belki birileri benim döngüsümü nasıl değiştirebilirim veya ne yapmalıyım yerine satırları almak için Excel sayfasının hücreleri doldurun.
Bu soruna yönelik SO'daki tüm makaleleri okudum, ancak sorunum için uygun bir konu bulamıyor.
for (int i = 1; i < dataGrid.Columns.Count + 1; i++)
{
Excel.Range BackgroundColor;
BackgroundColor = xlWorkSheet.get_Range("a9", "j9");
BackgroundColor.Interior.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.RoyalBlue);
AxlEx.Cells[9, i] = dataGrid.Columns[i - 1].Header;
}
o satırlarla hücrelerin doldurulması iner Çalışmaya almak için sayısız girişimi denedi:
Bu
Gayet eserler sütun adları doldurulması için yaptığıdırfor (int i = 0; i < dataGrid.Items.Count; i++)
{
DataRowView aux = (DataRowView)dataGrid.Items[i];
for (int j = 0; j < aux.Row.ItemArray.Length; j++)
{
//Console.WriteLine(string.Format("{0}-{1}", j, aux.Row.ItemArray[j]));
AxlEx.Cells[i + 10, j + 1] = aux.Row.ItemArray[j];
}
}
bana açıktır tip uyumsuzluğu için System.InvalidCast istisnasının bir istisna atar ... ama dönüştürmek için nasıl bilmiyorum, SO yapmadım burada da uydurma Konular Kodumu değiştirmek için anlayabileceğim bir örnek var. Bunu vardı önce
i
DataRowView dataRow = (DataRowView)dataGrid.SelectedItem;
bakın o zaman 1 satır için çalışır
for (int i = 0; i < dataGrid.Items.Count; i++)
{
for (int j = 0; j < dataGrid.Columns.Count; j++)
{
AxlEx.Cells[i + 10, j + 1] = dataRow.Row.ItemArray[j].ToString();
}
}
alabilirim nasıl bu işe?
'DataGrid'inizin' ItemsSource'unuz nedir? GözlemlenebilirKoleksiyon 'veya' DataTable'? –
StepUp
Merhaba DataTable bir StepTable – incubuzz1978