none
DataGrid verilerini işlemden geçirip excele aktarma yada başka datagridde gösterme... RRS feed

  • Genel Tartışma

  • Merhabalar, aşağıdaki gibi bir datagrdiim var. Tabloda öğretmenlerin gün içinde girdiği saatleri tutuyorum. Tablonun üst tarafında görünen tarihler sadece datagrid üzerinde oluşuyor yani veritabanında Gun1,Gun2 gibi değişkenlerde saklanıyor. Bu tabloyu bir takım işlemlerden geçirip excele aktarmak istiyorum. 

    Öncelikle matematiksel işlem olarak Hafta içlerinin toplamını alıp, toplamdan maaş karşılığını çıkaracak ve yine hücrelere eşit olarak yada benim istediğim gibi dağıtacak.  Bu kısımda uzun zamandır takıldım. Yardımcı olabilir misiniz?


    ************************************************************************************************************************************************************** Çok soru sormam, cahilliğimden geliyor. Kimseden hazır yazılmış kod beklemiyorum. Bir fikir, bir anahtar kelime, bir kaynak ismi de olsa yeterli olur. **************************************************************************************************************************************************************

    17 Ekim 2019 Perşembe 09:27

Tüm Yanıtlar

  •             #region EXCEL işlemleri
                Microsoft.Office.Interop.Excel.Application uyg = new Microsoft.Office.Interop.Excel.Application();
                uyg.Visible = true;
                Microsoft.Office.Interop.Excel.Workbook kitap = uyg.Workbooks.Add(System.Reflection.Missing.Value);
                Microsoft.Office.Interop.Excel.Worksheet sheet1 = (Microsoft.Office.Interop.Excel.Worksheet)kitap.Sheets[1];
                for (int i = 0; i < dataGridView1.Columns.Count; i++)
                {
                    Microsoft.Office.Interop.Excel.Range myRange = (Microsoft.Office.Interop.Excel.Range)sheet1.Cells[1, i + 1];
                    myRange.Value2 = dataGridView1.Columns[i].HeaderText;
                    myRange.ColumnWidth = 15;
                    myRange.Columns.Borders.Color = Color.Blue;//Arka plan rengi değiştirdik.
    
                    myRange.get_Range("A1", "A9").Cells.HorizontalAlignment = Microsoft.Office.Interop.Excel.XlVAlign.xlVAlignCenter;
                }
    
                for (int i = 0; i < dataGridView1.Columns.Count; i++)
                {
                    for (int j = 0; j < dataGridView1.Rows.Count; j++)
                    {
                        Microsoft.Office.Interop.Excel.Range myRange = (Microsoft.Office.Interop.Excel.Range)sheet1.Cells[j + 2, i + 1];
                        myRange.Value2 = dataGridView1[i, j].Value;
                    }
                }
    
    
                #endregion
    Olduğu gibi excele aktarmak için bu kodu kullanıyorum ama işimi görmüyor dediğim gibi veriler üzerinde matematiksel hesaplamalar yapıp yeni bilgileri hücrelere dağıtmam lazım. Bu kodlarda oynama yaparak bişeyler denedim ama olmadı. 

    ************************************************************************************************************************************************************** Çok soru sormam, cahilliğimden geliyor. Kimseden hazır yazılmış kod beklemiyorum. Bir fikir, bir anahtar kelime, bir kaynak ismi de olsa yeterli olur. **************************************************************************************************************************************************************

    17 Ekim 2019 Perşembe 09:30