Jump to content

Datagridview Excel


korasoglu
 Share

Recommended Posts

Sevgili arkadaşlar sql3lite ile oluşturduğum bir proje var haliyle bu dll üzerinden netframework 2 ile çalışyor bunu excelle gönderme şansım yok.

Ben de oldb bağlandı kurup ona insert edip harici bir exe ile oradan verileri çekip excele aktarıyorum zahmetli ama istediğim sonucu veriyor. Öneriniz nedir bunu saha kolay sağlıklı nasıl yapabilirim.

Yada Ben yazdırma  işleminde html oluşturup yazdırıyorum.

<html><head><meta http-equiv="Content-Language" content="tr"><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Yeni Sayfa 1</title></head><body><p align="center"><font face="Arial Black" color="#000080"><b>Tüm Liste</b></font></p><table border="1" width="100%" style="border-collapse: collapse" bordercolordark="#000000" bordercolorlight="#000000"><tr>
<td align="center"><font face="Arial Black"><b>a1</font></b></td>
<td align="center"><font face="Arial Black"><b>a2</font></b></td>

</tr>

<tr><td><font face="Arial">1</font></td><td> <font face="Arial">b1</font></td><td> <font face="Arial">b2</font></td><td> <font face="Arial">b3</font></td><td> <font face="Arial">b4</font></td><td> <font face="Arial">b5</font></td><td> <font face="Arial">,b6</font></td><td> <font face="Arial">b7</font></td></TR>

</tr></table><p align="center"><font color="#000080"><b>Tüm Liste</b></font></p></body></html>

bunları döngü olarak nasıl çekip excele yazdırılabilir. Yada başka önerisi olan.

 

 

Not : Kintaronun Sql lite çalışması baz alınmıştı fakat konu kaldırılmış o yüzden konu açmak zorunda kaldım.

Edited by korasoglu
edit
Link to comment
Share on other sites

Hocam excele gönderme konusunda şöylede olabiliyor kullanmak isteyen olur diye ekliyorum. Net faramework 4.5 harici yeni bir çalışma oluşturdum

Spoiler

// Excel uygulaması tanımlıyoruz.
            Excel.ApplicationClass ExcelUygulama;
            // Çalışma Kitabı tanımlıyoruz.
            Excel.Workbook CalismaKitabi;
            // Çalışma Sayfası tanımlıyoruz.
            Excel.Worksheet CalismaSayfasi;

            // Yeni Bir Excel uygulaması yaratıyoruz.
            ExcelUygulama = new Excel.ApplicationClass();
            // Excel Uygulamasının görünürlüğü
            ExcelUygulama.Visible = true;

            // Excel Uygulamamıza Yeni Bir Çalışma Kitabı Ekliyoruz.
            CalismaKitabi = ExcelUygulama.Workbooks.Add(Type.Missing);

            // Oluşturduğumuz Çalışma Kitabımıza Yeni Bir Çalışma Sayfası Oluşturuyoruz.
            // Fakat Çalışma Kitabı oluşturulduğunda, 3 tane hazır sayfa gelmektedir.
            // Eğer projenizde birkaç sayfa kullacaksanız eklemenize gerek yok.
            // Eğer 3 den fazla sayfa ile uğraşacaksanız eklemenizi öneririm.
            // Calisma Kitabımızdaki ilk sayfayı alıyoruz. Alırken Excel.WorkSheet olarak 
            // casting ediyoruz.
            // Daha sonra ilk sayfayı CalismaSayfasından alıyoruz. 
            CalismaSayfasi = (Excel.Worksheet)CalismaKitabi.Worksheets.get_Item(1);

            // Yeni Bir sayfa eklemek için aşağıdaki kodu kullanabilirsiniz.
            // Eklediğiniz sayfa en başta gözükecektir.
            CalismaSayfasi = CalismaKitabi.Worksheets.Add(
                        CalismaKitabi.Worksheets[1],
                        Type.Missing,
                        Type.Missing,
                        Type.Missing) as Excel.Worksheet;
            CalismaSayfasi.Name = "yeni sayfa";
            SendKeys.Send("^{v}");

Datagridin olduğu çalışmada da 

Spoiler

void excell(DataGridView grid)
        {
            if (grid.Rows.Count > 0)
            {
                grid.SelectAll();
                DataObject dataObj = grid.GetClipboardContent();
                if (dataObj != null)
                    Clipboard.SetDataObject(dataObj);
                System.Diagnostics.Process.Start(Application.StartupPath + "\\Kisiler\\Excelegonder.exe");
            }
            else MessageBox.Show("Excele Gönderilecek Veri Bulunamadı", "Uyari", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1);
        }

Şöylede veriyi alıp gönderdim ve gayette hızlı

excell(dataGridView9);

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...