Daten in Excel Datei einfügen

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
Antworten
Bernd
Beiträge: 27
Registriert: Mo 11. Jun 2007, 10:12
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit

Daten in Excel Datei einfügen

Beitrag von Bernd »

Hallo,
mit diesem Code versuche ich Daten in ein Excelblatt zu schreiben:

Code: Alles auswählen

procedure TForm1.Button4Click(Sender: TObject);
var
  i,j,k: Integer;
  sTF, sZeile: String;
  sErgebnis, sDatum : String;
begin
  // fpspreadsheet
  // Open the input file
  InputFileName := 'TFSumme.xls';
  // Create the spreadsheet
  MyWorkbook := TsWorkbook.Create;
  MyWorkbook.ReadFromFile(InputFilename, sfExcel8);
  //MyWorkbook.
  MyWorksheet := MyWorkbook.GetFirstWorksheet;
  ... sTF .. berechnen;
  for i:=0 to MyWorkSheet.GetLastRowNumber do
   if (pos(sTF,MyWorkSheet.ReadAsUTF8Text(i,0))<>0) then
    begin
     MyWorksheet.WriteUTF8Text(i, 1, sDatum);
     MyWorksheet.WriteUTF8Text(i, 2, sZeile);
    end;
 
  end;
  MyWorkbook.WriteToFile('TFSumme1.xls', sfExcel8, true);
  // Finalization
  MyWorkbook.Free;
 
end;
Das ganze funktioniert so ganz gut. Ich lese in der ersten Spalte vorhandene Werte und suche die richtige Zeile um dann zu schreiben. Speichere ich alles in eine neue Datei geht es gut. Verwende ich für "writetofile" den gleichen Dateinamen wie bei "InputFileName" geht es genau einmal gut. Beim zweiten Versuch ist mein Excelblatt leer.

Gibt es da ein Problem mit dem Lesen/Schreiben, oder wo liegt mein Fehler?
Ich möchte gerne in die gleiche Datei zurückschreiben und nicht eine Neue erzeugen.

Gruß Bernd

P.S. Windows XP

Thomas B.
Beiträge: 90
Registriert: Fr 2. Nov 2007, 13:32
OS, Lazarus, FPC: Win (L 1.0 FPC 2.6.0)
CPU-Target: 32Bit
Wohnort: Ulm

Re: Daten in Excel Datei einfügen

Beitrag von Thomas B. »

Hallo Bernd,
ich hab's eben bei mir überpüft. Es scheint so zu sein, dass das Einlesen von Text aus einer Excel-Datei (Version8)
noch nicht (fertig) in fpspreadsheet implementiert ist.
Bei mir werden auch die Texteinträge nicht mit eingelesen, sondern nur die Zahlen.
Alternative: Umstellung auf ein anderes (freies) Datenformat.
Gruß Thomas

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Re: Daten in Excel Datei einfügen

Beitrag von monta »

Es ist scheinbar wirklich einiges noch nicht implentiert, zumindest steht das als Hinweis auch im Wiki:
http://wiki.lazarus.freepascal.org/FPSp ... t_Progress" onclick="window.open(this.href);return false;
Johannes

Antworten