Autor Beitrag
Nagetier
Hält's aus hier
Beiträge: 12



BeitragVerfasst: Do 19.04.07 16:27 
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:

ausblenden volle Höhe Delphi-Quelltext
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); //Anzeige - Erfolgreich geladen-
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