![]() |
StringGrid -> Excel: Kommzahlen als Zahlen einfügen
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo!
Mit dem unten stehenden Code, den ich im Internet gefunden habe, werden die Daten aus meinem StringGrid 1:1 in Excel eingefügt und dargestellt. Diese Funktion nutze ich, um aus den errechneten Werten ein Diagramm zeichnen zu lassen. Ich habe jedoch ein kleine Problem, sobald Kommazahlen im StringGrid sind. Diese werden in Excel nämlich als Text eingefügt, was zu Problemen beim Zeichnen von Graphen führt.
Delphi-Quellcode:
Quelle:
{create variant array where we'll copy our data}
arrData := VarArrayCreate([1, StringGrid1.RowCount, 1, StringGrid1.ColCount], varVariant); {fill array} for i := 1 to StringGrid1.RowCount do for j := 1 to StringGrid1.ColCount do arrData[i, j] := StringGrid1.Cells[j-1, i-1]; {initialize an instance of Excel} xls := CreateOLEObject('Excel.Application'); {create workbook} wb := xls.Workbooks.Add; {retrieve a range where data must be placed} Range := wb.WorkSheets[1].Range[wb.WorkSheets[1].Cells[1,1], wb.WorkSheets[1].Cells[StringGrid1.RowCount, StringGrid1.ColCount]]; {copy data from allocated variant array} Range.Value := arrData; {show Excel with our data} xls.Visible := True; ![]() Habt ihr eine Idee, wie sich das lösen lässt? Viele Grüsse! cosypanther |
Re: StringGrid -> Excel: Kommzahlen als Zahlen einfügen
Hallo cosypanther,
im StringGrid liegen die Daten als String vor. In Deinem Fall muss der String erst in eine Zahl konvertiert werden. Zum Bleistift:
Delphi-Quellcode:
var
Zahl: Extended;
Delphi-Quellcode:
Bis bald Chemiker
for i := 1 to StringGrid1.RowCount do
for j := 1 to StringGrid1.ColCount do begin if TryStrToFloat(StringGrid1.Cells[j-1, i-1], Zahl) then begin arrData[i, j]:= Zahl end else begin arrData[i, j] := StringGrid1.Cells[j-1, i-1]; end; end; |
Re: StringGrid -> Excel: Kommzahlen als Zahlen einfügen
Und wieder was dazugelernt! :) Läuft wunderbar!
Viele Grüße, cosypanther |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:48 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz