Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

VB.NET Export Decimal Values to Excel

Empfohlene Antworten

Veröffentlicht

tag zusammen,

#############

Visual Studio 2005

Mircosoft Framework 2.0

Excel 2007

#############

ich suche eine lösung um daten aus einem listview nach excel zu exportieren. dieses stellt auch kein größeres problem da. bis auf die kleinigkeit der dezimal zahlen die beim erstellen des excel files als string gewertet werden und nicht als number. somit ist es z.b nicht möglich eine summierung auf die spalte in excel zu tätigen.

beispiel code:


Friend Shared Sub Export()

        Dim vWorkBook As New DataDynamics.SpreadBuilder.Workbook

        Dim vSheet As DataDynamics.SpreadBuilder.DDSheet

        Dim vRow As Integer = 0


        vSheet = vWorkBook.Sheets.AddNew()



        With vSheet


            .Cell(vRow, 0).SetValue("DezimalZahl")

            .Cell(vRow, 0).FontBold = True


vRow += 1


  For Each Object1 In Object1List


 .Cell(vRow, 0).SetValue(Object1.GrossAmount.ToString)


     Next


...

..

.

.

hierbei erwartet die methode .SetValue einen String als input.

Object1.GrossAmount ist aber vom Typ Decimal und hat als beispiel den wert

450.45D

in excel erscheint das ganze nun als text 450.5 und nicht als number. habe auch schon versucht ein , statt einen . an set value zu übergeben was zum selben erfolg geführt hat.

die suchfunktion und google konnten mir bisher nicht weiterhelfen. viel zu viel asp zeugs mitlerweile im umlauf...

vielleciht weiß einer von euch ja rat! vorab schonmal dank !!!

gruß

Da das sehr nach COM riecht und ich vor Kurzem auch bissl mit Excelexport Probleme hatte, verweiß ich mal hierauf:

Click me

Ist zwar C# aber die Verwendung von COM ist ja in VB fast die Gleiche.

Zusammengefasst:

Über ein Range (Spalte[n], Zeile[n], Kombination[en]) kannst du über die Eigenschaft NumberFormat den "Datentyp" der Zelle(n) angeben.

@ Ist hierbei Text und # mit Ziffern jeweiles eine Zahl.

Vielleicht hilft dir das ja.

hej,

erstmal danke für die antwort. leider funktioniert das bei mir aber nicht da ich kein template als vorlage habe. hierdurch werden die zahlen z.b als 45,4 oder 45,4 eingetragen aber nach wie vor nicht als number erkannt. somit geht auch die auto sum funktion nicht.

Ähm, trag die Zahl mal als 45.4 ein - das Komma kannst du über den oben genannten Numberformatstring einstellen

btw: ist da wirklich ein D in dem String?

450.45D - wäre klar, dass das in einen String umgewandelt wird

ich hab folgendes getestet:


dim t as decimal

t = 45.55


.Cell(vRow, 0).NumberFormat = "#,##"


.Cell(vRow, 0).SetValue(t)


wir nachwie vor nicht als number erkannt

(sorry edit geht nicht) ich hab mich verschrieben hab folgendes probiert:


dim t as double

t = 45.55


.Cell(vRow, 0).NumberFormat = "#,##"


.Cell(vRow, 0).SetValue(t)


so, bin aber nun zu dem entschluß gekommen das number format weg zulassen. zwar sehen dann die zahlen aus wie:

6700 und 430,4 (statt 430,40) aber damit gehen die number funktionen. wenn ich das number format benutze stimmen die kommas nicht mehr etc..

aber trotzdem nochma danke für die hilfe !

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.