@Chemiker:
Im Prinzip ist das der gleiche Code, wie der hier schon im 1. Post Genannte, woraus ich meine Klasse erstellt hab.
Nur daß dein verlinker Code nur Strings kann, wärend dieser noch Integer und Floats kennt und daß man die Daten nochmals verändern kann, vor dem Speichern.
Bei mir geht weder Laden einer vorhanden, noch das Speichern einer neuen, ich habe es so versucht:
BTW: warum hast Du von TComponent abgeleitet?
Joar, wenn man (ich) so blöd ist und die Cell-Info in TExcelCreator.SetVarCell, nach dem erfolgreichen Speichern, wieder mit Zufallswerten zu überschreiben
und dann auch noch beim Abspeichern (SaveToFile) die falschen Anzahlen der Rows und Cols verwendet (beim Auslesen mit <= statt => gesucht),
dann braucht man sich nicht wundern.
Nja, wir leben halt in einer KlickbuntiOOPWelt ... drum ist das schon so ausgelegt, daß man diese Komponente irgendwann mal auf der Toolpalette in die Form klatschen kann.
PS: Bitte nicht über die OutputDebugStrings im Code wundern.
Das Schreiben scheint nun zu gehn, jedenfalls mit dem ersten Teil dieses Codes.
Delphi-Quellcode:
var
E: TExcelCreator;
begin
E := TExcelCreator.Create(nil);
E.Cell[1,1] := 'Was auch immer'#13#10'in zweiZeilen';
E.Cell[2,2] := 1234.5678;
E.SaveToFile('C:\Users\Frank\Desktop\ExcelFile.xls');
E.Free;
E := TExcelCreator.Create(nil);
E.LoadFromFile('C:\Users\Frank\Desktop\ExcelFile.xls');
E.Cell[2,1] := 'noch mehr';
E.SaveToFile('C:\Users\Frank\Desktop\ExcelFile2.xls');
E.Free;
Aber beim Auslesen der selbsterstellten Datei hapert es noch.
Auch wenn es eventuell oftmals nicht geht fremde Dateien einzulesen, aber die eigenen sollten schon noch gehn (irgendwann mal).
OK, vielleicht bekommt noch jemand raus, wie man mehrzeilig in eine Spalte rein macht.
Nja, also im Prinzip ist dieses alte Binärformat doch recht einfach ufgebaut.
Eventuell könnte man sich ja auch mal ansehn, wie das neue gezippte
XML-Format aussieht.
[edit]
So, jetzt geht's Speichern, des Auslesen und beim auslesen hab ich versucht noch ein bissl flexiebler zu sein, was Fremddateien angeht.
Da ich aber nur einen kleinen Teil der Spezifikation drin hab und es auch nicht angedacht ist
alles aufzunehmen, wird auch niemals alles unterstützt werden, aber hier geht's ja mehr ums Erstellen der Datei, als ums Einlesen.
PS: Über mein Excel hab ich grade rausgefunden, daß es sich bei dieser Datei um ein "Arbeitsblatt/Workssheet in der uralten Version 2" handelt.