Ich habe ein Problem, ich muss für ein Schulprojekt eine Exceldatei Auslesen, und die darin angegebenen Werte in Floats konvertieren um sie dann weiterverarbeiten zu können.
Doch wenn ich versuche die AnsiStrings in Floats umzuwandeln, dann gibt es eine Errormeldung, die besagt, dass das nicht möglich sei. (bei den Ausgelesenen werten handelt es sich um Zahlen )
Als möglichkeit die Exceldatei auszulesen habe ich in diesem Forum folgende möglichkeit gefunden:
Nur für den Fall das da das Problem liegt...
Ich habe versucht den AnsiString mittels StrToFloat() zu konvertieren...
In Hoffnung auf Hilfe,
Omti
Doch wenn ich versuche die AnsiStrings in Floats umzuwandeln, dann gibt es eine Errormeldung, die besagt, dass das nicht möglich sei. (bei den Ausgelesenen werten handelt es sich um Zahlen )
Als möglichkeit die Exceldatei auszulesen habe ich in diesem Forum folgende möglichkeit gefunden:
void __fastcall TForm1::LesenClick(TObject *Sender)
{
if (OpenDialog1->Execute()) //*.xls-Dateinamen + Pfad angeben
{
try
{
Variant Excel;
Excel = Variant::CreateObject("Excel.Application");
Excel.OlePropertyGet("ActiveWorkBook");
// Excel-Datei öffnen
Excel.OlePropertyGet("WorkBooks").OleFunction("Ope n", OpenDialog1->FileName);
//Excel.OlePropertySet("Visible", true); //Excel beim Arbeiten anzeigen, false = ausblenden
Variant Sheet;
Sheet=Excel.OlePropertyGet("ActiveSheet");
AnsiString Zelleninhalt = Sheet.OlePropertyGet("Cells", 1, 1).OlePropertyGet("Value");// Zeile 1, Spalte 1 auslesen
ShowMessage(Zelleninhalt);
ShowMessage("Excel wird jetzt wieder geschlossen");
Excel.OleFunction("Quit");
Excel = Unassigned;
}
catch(...){}
}
{
if (OpenDialog1->Execute()) //*.xls-Dateinamen + Pfad angeben
{
try
{
Variant Excel;
Excel = Variant::CreateObject("Excel.Application");
Excel.OlePropertyGet("ActiveWorkBook");
// Excel-Datei öffnen
Excel.OlePropertyGet("WorkBooks").OleFunction("Ope n", OpenDialog1->FileName);
//Excel.OlePropertySet("Visible", true); //Excel beim Arbeiten anzeigen, false = ausblenden
Variant Sheet;
Sheet=Excel.OlePropertyGet("ActiveSheet");
AnsiString Zelleninhalt = Sheet.OlePropertyGet("Cells", 1, 1).OlePropertyGet("Value");// Zeile 1, Spalte 1 auslesen
ShowMessage(Zelleninhalt);
ShowMessage("Excel wird jetzt wieder geschlossen");
Excel.OleFunction("Quit");
Excel = Unassigned;
}
catch(...){}
}
Ich habe versucht den AnsiString mittels StrToFloat() zu konvertieren...
In Hoffnung auf Hilfe,
Omti
Comment