Einzelnen Beitrag anzeigen

Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#7

Re: Excel-Funktion im Hintergrund ablaufen lassen

  Alt 11. Dez 2009, 16:34
Ich hab es mal eben zusammengeschustert:
Delphi-Quellcode:
  excel.visible:=true; { visible nur für test-zwecke }
  excel.workbooks.Open(Filename:='c:\temp\testdatei0.xml'); //,LoadOption:=xlXmlLoadImportToList);
  excel.activeworkbook.sheets[1].activate; { 1. Worksheet -- wahrscheinlich nicht notwendig}
  excel.activeworkbook.sheets[1].columns[1].delete;
  excel.activeworkbook.sheets[1].columns[1].delete;
  excel.ActiveWorkbook.SaveAs(Filename:='c:\temp\testdatei_stripped.txt', FileFormat:=$FFFFEFC2, CreateBackup:=False);
  excel.ActiveWorkbook.Close;
  excel.quit;
Aber leider habe ich keine Möglichkeit gefunden die Nachfrage beim Speichern zu umgehen.

Aber wenn Du schon kein originäres XML lesen willst, und Du schon Excel offen hast, warum dann nicht gleich im "Original" lesen?

Delphi-Quellcode:
{---- Auslesen von Excel sheets mit StartSpalte/StartZeile bis Endspalte/EndZeile ----}
  maxZeil:=excel.activesheet.usedrange.rows.count;
  maxSpal:=excel.activesheet.usedrange.columns.count;
  if StartZeile=0 then Startzeile:=1;
  if StartSpalte=0 then StartSpalte:=1;
  {---------------------}
  if endZeile>maxzeil then endZeile:=maxZeil;
  if endSpalte>maxspal then endSpalte:=maxSpal;
  for i:=startZeile to endZeile do begin
    for j:=startSpalte to endSpalte do begin
      zelle:=excel.activesheet.cells[i,j]; { Lese Wert }
      ll.Add(zelle); { Wert ausgeben }
Bei einigen Sheets könnten Excel und der User unterschiedlicher Meinung sein welche Zellen genutzt werden!

Gruß
K-H

Nachtrag:
xlToLeft u.ä. sind Konstanten die delphi nicht kennt. Die muß man sich selbst heraus suchen.
z.B. FileFormat:=$FFFFEFC2 = FileFormat:=xlText

2.Nachtrag:
ll.Add(zelle); { Wert ausgeben } Da ist ll ein Tlist oder TSringlist oder irgend so etwas....
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat