Sodele...
Folgende Situation:
Ich habe ein Programm welches diverse Informationen aus einem .xls File bisher ausließt, bis jetzt jedoch Pfad gebunden, den Code, welchen ich dafür verwende ist dieser:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52:
| function Xls_To_StringGrid(AGrid: TStringGrid; AXLSFile: string): Boolean; const xlCellTypeLastCell = $0000000B; var XLApp, Sheet: OLEVariant; RangeMatrix: Variant; x, y, k, r: Integer; begin Result := False; XLApp := CreateOleObject('Excel.Application'); try XLApp.Visible := False;
XLApp.Workbooks.Open(AXLSFile);
Sheet := XLApp.Workbooks[ExtractFileName(AXLSFile)].WorkSheets[1];
Sheet.Cells.SpecialCells(xlCellTypeLastCell, EmptyParam).Activate; x := XLApp.ActiveCell.Row; y := XLApp.ActiveCell.Column;
AGrid.RowCount := x; AGrid.ColCount := y;
RangeMatrix := XLApp.Range['A1', XLApp.Cells.Item[X, Y]].Value; k := 1; repeat for r := 1 to y do AGrid.Cells[(r - 1), (k - 1)] := RangeMatrix[K, R]; Inc(k, 1); AGrid.RowCount := k + 1; until k > x; RangeMatrix := Unassigned;
finally if not VarIsEmpty(XLApp) then begin XLApp.Quit; XLAPP := Unassigned; Sheet := Unassigned; Result := True; end; end; end;
procedure TForm1.BtLoadClick(Sender: TObject); begin if Xls_To_StringGrid(StringGrid1, 'C:\Table1.xls') then ShowMessage('Erfolgreich geladen...'); |
Jedoch soll das Programm ohne größere Aktionen auch auf Systemen ohne Excel laufen, weshalb ich mich zu einem .csv File hin entschieden habe.
Jedoch finde ich per Google, oder hier im Forum keine passende Lösung um das zu importieren aus einem Resource File(damit nicht immer der csv. File mitgeschleift werden muss!)
Was also muss ich machen, um den Inhalt des .csv Files aus einer Resourcen Datei auszulesen?
Hoffe das hier ist der richtige Bereich
Ist es eigentlich sinnvoller einen csv oder einen txt File zu verwenden

?
Danke schonmal für Hilfe...
Nager