Majestix Geschrieben 7. August 2008 Geschrieben 7. August 2008 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ß Zitieren
TDM Geschrieben 8. August 2008 Geschrieben 8. August 2008 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. Zitieren
Majestix Geschrieben 11. August 2008 Autor Geschrieben 11. August 2008 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. Zitieren
TDM Geschrieben 12. August 2008 Geschrieben 12. August 2008 Ä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 Zitieren
Majestix Geschrieben 12. August 2008 Autor Geschrieben 12. August 2008 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 Zitieren
Majestix Geschrieben 12. August 2008 Autor Geschrieben 12. August 2008 (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 ! Zitieren
Empfohlene Beiträge
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.