Forum

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

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

Yusuf BARAN
(@yusufbaran)
Üye

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
Alıntı
Konu başlatıcı Gönderildi : 16/04/2019 15:56
Yusuf BARAN
(@yusufbaran)
Üye

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 = "@"
CevapAlıntı
Konu başlatıcı Gönderildi : 16/04/2019 18:30
Hakan Uzuner
(@hakanuzuner)
Kıdemli Üye 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.
*****************************************************************

CevapAlıntı
Gönderildi : 13/06/2021 12:28
Paylaş: