C# ile excel programına veri transfer örneği:
Aşağıdaki gibi bir form oluşturulup datagridview’e veri bağlantısı kuralım.

Daha sonra Solution Explorer dan “References” e sağ tıklayarak Add Reference diyoruz. Daha sonra karşımıza ” Reference Manager ” sayfası gelecektir. Excel’e aktarım işlemi yapacağımız için buradan ” Microsoft.Office.Interop.Excel ” (Microsoft Excel 15.0 Object Library) i seçiyoruz.ve reference ekleme işlemini bitirmiş oluyoruz.
.
Kodlamaya geçiyoruz. Kod satırında en üste
ekliyoruz. Daha sonra Excel’e Aktar butonuna çift tıklayarak aşağıdaki kodları ekliyoruz.
Programı çalıştırıp “Excel’e Aktar” butonuna bastığınızda Datagrid’ deki verilerin Excel’e aktarıldığını göreceksiniz.
DataGridview’de seçili olan satırların aktarılması istenirse DatagridView özelliklerinden SelectionMode özelliği FullRowSelect, MultiSelect özelliği ise True yapıldıktan sonra aşağıdaki kodlar uygulanabilir.
Aşağıdaki gibi bir form oluşturulup datagridview’e veri bağlantısı kuralım.

Daha sonra Solution Explorer dan “References” e sağ tıklayarak Add Reference diyoruz. Daha sonra karşımıza ” Reference Manager ” sayfası gelecektir. Excel’e aktarım işlemi yapacağımız için buradan ” Microsoft.Office.Interop.Excel ” (Microsoft Excel 15.0 Object Library) i seçiyoruz.ve reference ekleme işlemini bitirmiş oluyoruz.
.
Kodlamaya geçiyoruz. Kod satırında en üste
Kod:
using Excel = Microsoft.Office.Interop.Excel;
using Microsoft.Office.Interop.Excel;
ekliyoruz. Daha sonra Excel’e Aktar butonuna çift tıklayarak aşağıdaki kodları ekliyoruz.
Kod:
private void button1_Click(object sender, EventArgs e)
{
Excel.Application excel = new Excel.Application();
excel.Visible = true;
object Missing = Type.Missing;
Workbook workbook = excel.Workbooks.Add(Missing);
Worksheet sheet1 = (Worksheet)workbook.Sheets[1];
int StartCol = 1;
int StartRow = 1;
for (int j = 0; j < dataGridView1.Columns.Count; j++)
{
Range myRange = (Range)sheet1.Cells[StartRow, StartCol + j];
myRange.Value2 = dataGridView1.Columns[j].HeaderText;
}
StartRow++;
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
for (int j = 0; j < dataGridView1.Columns.Count; j++)
{
Range myRange = (Range)sheet1.Cells[StartRow + i, StartCol + j];
myRange.Value2 = dataGridView1[j, i].Value == null ? "" : dataGridView1[j, i].Value;
myRange.Select();
}
}
}
Programı çalıştırıp “Excel’e Aktar” butonuna bastığınızda Datagrid’ deki verilerin Excel’e aktarıldığını göreceksiniz.
DataGridview’de seçili olan satırların aktarılması istenirse DatagridView özelliklerinden SelectionMode özelliği FullRowSelect, MultiSelect özelliği ise True yapıldıktan sonra aşağıdaki kodlar uygulanabilir.
Kod:
private void button7_Click(object sender, EventArgs e)
{
Excel.Application excel = new Excel.Application();
excel.Visible = true;
object Missing = Type.Missing;
Workbook workbook = excel.Workbooks.Add(Missing);
Worksheet sheet1 = (Worksheet)workbook.Sheets[1];
int StartCol = 1;
int StartRow = 1;
for (int x = 0; x < dataGridView1.SelectedRows.Count; x++)
{
for (int j = 0; j < dataGridView1.SelectedRows[x].Cells.Count; j++)
{
Range myRange = (Range)sheet1.Cells[StartRow , StartCol + j];
myRange.Value2 = dataGridView1.SelectedRows[x].Cells[j].Value == null ? "" : dataGridView1.SelectedRows[x].Cells[j].Value;
}
StartRow++;
}
}