AccessTr.neT
Epplus İle excel Word Dosyası Oluşturma ve Veri Ekleme - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Visual Basic .NET (https://accesstr.net/forum-visual-basic-net.html)
+--- Forum: Visual Basic .NET Soruları ve Cevapları (https://accesstr.net/forum-visual-basic-net-sorulari-ve-cevaplari.html)
+--- Konu Başlığı: Epplus İle excel Word Dosyası Oluşturma ve Veri Ekleme (/konu-epplus-ile-excell-word-dosyasi-olusturma-ve-veri-ekleme.html)



Epplus İle excel Word Dosyası Oluşturma ve Veri Ekleme - drummers - 15/10/2014

epplus.dll i projeme refere ettim. Bundan sonra yapmak istediğim şudur

Bir Excel dosyası oluşturmak ve ilgili alanlara veri girmek.

Bununla ilgili basit bir örnek verebilirmisiniz.

Teşekkürler...


Cvp: Epplus İle excel Word Dosyası Oluşturma ve Veri Ekleme - alpeki99 - 16/10/2014

Benim kendi projemde kullandığım metodu ekledim. Ben Excelden okuyup, okuduğumu veritabanına kaydediyorum:
Kod:
Private Sub ExceldenBilgileriAl()
    Using p As New ExcelPackage()
        If Not String.IsNullOrEmpty(fileDialog.FileName) Then
            Dim kacinciSatir As Byte = 1
            ' Excelden alınan bilginin kaçıncı satırdan başladığını takip etmek için kullandığımız değişken
            Using oku As New FileStream(fileDialog.FileName, FileMode.Open)
                p.Load(oku)
                Dim ws As ExcelWorksheet = p.Workbook.Worksheets(1)

                ' Form üzerinden değişken değerini alıyoruz. Kaçıncı satırdan itibaren bilgiler balıyor.
                kacinciSatir = Convert.ToByte(seKacinciSatir.EditValue)

                Dim exceldeSonSatir As Integer = ws.Dimension.[End].Row

                ' Sütunlardaki değerleri parametreye girelim
                Try
                    Dim ogrenciSql As String = "INSERT INTO ogrenciler (DonemId,KimlikNo,OgrenciNo,Ad,Soyad,Cinsiyet,VeliCep1,VeliCep2,VeliCep3,OkulKodu,OkulAdi,DanismanKodu,DanismanAdi,SinifKodu,DogumGunu) VALUES (@did,@kimno,@ogrno,@ad,@soyad,@cins,@veli1,@veli2,@veli3,@okulkodu,@okuladi,@danismankodu,@danismanadi,@sinifkodu,@dogum)"

                    cnn = New MySqlConnection(VT.BaglantiCumlesi)
                    Dim cmd As MySqlCommand

                    If cnn.State = ConnectionState.Closed OrElse cnn.State = ConnectionState.Broken Then
                        cnn.Open()
                    End If

                    cmd = New MySqlCommand(ogrenciSql, cnn)

                    For i As Integer = kacinciSatir To exceldeSonSatir
                        cmd.Parameters.AddWithValue("@did", lueDonemler.EditValue)
                        cmd.Parameters.AddWithValue("@kimno", ws.Cells(i, 1).Value)
                        cmd.Parameters.AddWithValue("@ogrno", ws.Cells(i, 2).Value)
                        cmd.Parameters.AddWithValue("@ad", ws.Cells(i, 3).Value)
                        cmd.Parameters.AddWithValue("@soyad", ws.Cells(i, 4).Value)
                        cmd.Parameters.AddWithValue("@cins", ws.Cells(i, 5).Value)
                        cmd.Parameters.AddWithValue("@veli1", ws.Cells(i, 6).Value)
                        cmd.Parameters.AddWithValue("@veli2", ws.Cells(i, 7).Value)
                        cmd.Parameters.AddWithValue("@veli3", ws.Cells(i, 8).Value)
                        cmd.Parameters.AddWithValue("@danismankodu", ws.Cells(i, 9).Value)
                        cmd.Parameters.AddWithValue("@danismanadi", ws.Cells(i, 10).Value)
                        cmd.Parameters.AddWithValue("@okulkodu", ws.Cells(i, 11).Value)
                        cmd.Parameters.AddWithValue("@okuladi", ws.Cells(i, 12).Value)
                        cmd.Parameters.AddWithValue("@sinifkodu", ws.Cells(i, 13).Value)
                        cmd.Parameters.AddWithValue("@dogum", ws.Cells(i, 14).Value)

                        cmd.ExecuteNonQuery()
                        cmd.Parameters.Clear()
                    Next

                    SonSayfaMesajiYaz()
                Catch ex As MySqlException
                    lg.LogEkle("frmOgrenciler", "ExceldenBilgileriAl", ex.Message, ex.Number, Ortak.Kullanici.KullaniciId)
                    MessageBox.Show(ex.Message + Environment.NewLine + Environment.NewLine + ex.Number)
                Finally
                    cnn.Close()
                    cnn.Dispose()
                End Try
                ' FileStream oku döngüsü bitti
            End Using
            ' dosya adı boşmu bitti
        End If
    End Using
    ' ExcelPackage
End Sub

C# kodlarını çevirici programlar ile VB.Net'e çevirdim hata olurmu bilemiyorum. Excel'e yazdırdığım kısmı bulamadım ancak şu siteden esinlenmiştim:

Alıntı:zeeshanumardotnet.blogspot.com.tr/2011/06/creating-reports-in-excel-2007-using.html



Cvp: Epplus İle excel Word Dosyası Oluşturma ve Veri Ekleme - drummers - 16/10/2014


Dim FilePath As String = "C:\Deneme.xlsx"
Dim destination_file As New FileInfo(FilePath)
Try
destination_file.Delete()
Catch ex As Exception
End Try


Dim Yeni As New FileInfo(FilePath)
Dim Dosya As New ExcelPackage(Yeni)
Dim Sayfa As ExcelWorksheet = Dosya.Workbook.Worksheets.Add("Deneme")

Sayfa.Cells.Style.Font.Size = 11

Sayfa.Cells.Style.Font.Name = "Calibri"

Sayfa.Column(1).Width = 10
Sayfa.Column(2).Width = 30
Sayfa.Column(3).Width = 10
Sayfa.Column(4).Width = 10
Sayfa.Column(5).Width = 12

Sayfa.Column(3).Style.HorizontalAlignment = ExcelHorizontalAlignment.Right
Sayfa.Column(4).Style.HorizontalAlignment = ExcelHorizontalAlignment.Right
Sayfa.Column(5).Style.HorizontalAlignment = ExcelHorizontalAlignment.Right

Sayfa.Column(4).Style.Numberformat.Format = "###,###,##0.00;[RED](-###,###,##0.00)"
Sayfa.Column(5).Style.Numberformat.Format = "###,###,##0.00%;[RED](-###,###,##0.00%)"

Sayfa.Cells(1, 1).Value = "Ali"
Sayfa.Cells(3, 1).Value = "Velİ"
Sayfa.Cells(3, 2).Value = "Hasan"
Sayfa.Cells(3, 3).Value = "Mehmet"
Sayfa.Cells(3, 4).Value = "Kerim"
Sayfa.Cells(3, 5).Value = "%...."

Sayfa.Cells(1, 1).Style.Font.Bold = True
Sayfa.Cells(3, 1).Style.Font.Bold = True
Sayfa.Cells(3, 2).Style.Font.Bold = True
Sayfa.Cells(3, 3).Style.Font.Bold = True
Sayfa.Cells(3, 4).Style.Font.Bold = True
Sayfa.Cells(3, 5).Style.Font.Bold = True


Dosya.Save()

Bu şekilde oluşturdum. Fakat şunu yapmak istiyorum.

- Dim FilePath As String = "C:\Deneme.xlsx" burdaki dosyayı değilde yeniden bir dosya oluştursun

- Ekleme işlemi bitince doyayı ekrana açsın
Teşekkürler


Cvp: Epplus İle excel Word Dosyası Oluşturma ve Veri Ekleme - alpeki99 - 17/10/2014

Alıntı:Dim FilePath As String = "C:\Deneme.xlsx" burdaki dosyayı değilde yeniden bir dosya oluştursun

Net bir bilgi vermemişsiniz. Yeni bir dosya derken her defasında farklı bir dosyamı oluşturulacak?

Eğer bu şekilde istiyorsanız Deneme ismi yerine tarih-saat şeklinde bir isim verirsiniz DateTime kullanarak.

İsim aynı ancak her Excel'e göndermede önceki içerik mi silinecek?

Bu şekilde istiyorsanız File.Delete ile öncekini silebilirsiniz.


Cvp: Epplus İle excel Word Dosyası Oluşturma ve Veri Ekleme - drummers - 17/10/2014

(17/10/2014, 00:43)alpeki99 yazdı:
Alıntı:Dim FilePath As String = "C:\Deneme.xlsx" burdaki dosyayı değilde yeniden bir dosya oluştursun

Net bir bilgi vermemişsiniz. Yeni bir dosya derken her defasında farklı bir dosyamı oluşturulacak?

Eğer bu şekilde istiyorsanız Deneme ismi yerine tarih-saat şeklinde bir isim verirsiniz DateTime kullanarak.

İsim aynı ancak her Excel'e göndermede önceki içerik mi silinecek?

Bu şekilde istiyorsanız File.Delete ile öncekini silebilirsiniz.

Teşekkürler...