Forum

VB.Net Excel İle Dı...
 
Bildirimler
Hepsini Temizle

[Çözüldü] VB.Net Excel İle Dışa Aktarma İşleminde Solda Sıfır Sorunu

3 Yazılar
2 Üyeler
0 Reactions
771 Görüntüleme
(@yusufbaran)
Gönderiler: 57
Trusted Member
Konu başlatıcı
 

Merhaba, bir projem için sql üzerinden bir tabloyu GridView üzerine çekiyorum ve aşağıdaki kodlarla gridview üzerindeki veriyi Excel olarak dışarı aktarıyorum; fakat aktardığım veride bir sütunda solda sıfır (0) karakterlerinin de görünmesi lazım ancak excel dosyasını açtığımda soldaki sıfırlar silinmiş oluyor. Örnek olarak "021" olması gereken değer "21" olarak görünüyor. GridView'de "021" olarak görünüyor. Yardımcı olabilirseniz çok sevinirim.

İşlevi atadığım Butonun kodları şu şekilde.

 

Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click
If Label1.Text <> "Ürünler Listelendi" Then
MsgBox("Ürünler Listelenmeden Bu Bölümde İşlem Yapamazsınız!", MsgBoxStyle.Critical)
Else
Dim xlApp As Excel.Application
Dim xlWorkBook As Excel.Workbook
Dim xlWorkSheet As Excel.Worksheet
Dim misValue As Object = System.Reflection.Missing.Value
Dim i As Integer
Dim j As Integer

Try
xlApp = New Excel.Application
xlWorkBook = xlApp.Workbooks.Add(misValue)
xlWorkSheet = CType(xlWorkBook.Sheets(1), Excel.Worksheet)


For i = 0 To DataGridView1.RowCount - 2
For j = 0 To DataGridView1.ColumnCount - 1
xlWorkSheet.Cells(i + 1, j + 1) = _
DataGridView1(j, i).Value.ToString()
Next
Next
With xlWorkSheet
For Each column As DataGridViewColumn In DataGridView1.Columns
.Cells(1, column.Index + 1) = column.HeaderText
Next
For i = 1 To Me.DataGridView1.RowCount
.Cells(i + 1, 1) = Me.DataGridView1.Rows(i - 1).Cells("ProductCode").Value
For j = 1 To DataGridView1.Columns.Count - 1
.Cells(i + 1, j + 1) = DataGridView1.Rows(i - 1).Cells(j).Value

Next
Next
End With
xlWorkSheet.SaveAs("C:\" + TextBox2.Text + ".xlsx")

xlWorkBook.Close()
xlApp.Quit()

releaseObject(xlApp)
releaseObject(xlWorkBook)
releaseObject(xlWorkSheet)
MsgBox("Dosya Başarıyla Kaydedildi")

Catch ex As Exception
MsgBox(ex.Message)
End Try
End If
End Sub
 
Gönderildi : 16/04/2019 15:56

(@yusufbaran)
Gönderiler: 57
Trusted Member
Konu başlatıcı
 

Sorunumu kendim çözdüm, ihtiyacı olabilecek arkadaşlar için çözümü aşağıda paylaşıyorum.

 

Dim formatRange As Excel.Range
formatRange = xlWorkSheet.Range("D:D")
formatRange.NumberFormat = "@"
 
Gönderildi : 16/04/2019 18:30

Hakan Uzuner
(@hakanuzuner)
Gönderiler: 33311
Illustrious Member Yönetici
 

Geri dönüş ve bilgi için teşekkürler.

Danışman - ITSTACK Bilgi Sistemleri
****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

 
Gönderildi : 13/06/2021 12:28

Paylaş: