Zum Inhalt springen

VB.NET Export Decimal Values to Excel


Empfohlene Beiträge

Geschrieben

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ß

Geschrieben

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.

Geschrieben

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.

Geschrieben

Ä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

Geschrieben

(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 !

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...