C# ile Excel’ e Veri Aktarma

Rooster

only business
Legend Member
Katılım
10 Ağu 2019
Konular
727
Mesajlar
3,205
Çözümler
314
Tepkime puanı
4,994
Konum
Milano
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.
1587501547625.png

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.
.
excel_veri__addreference

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++;
            }
 
        }

1587501609705.png
 
Üst