Moin, moin,
ich steuere Excel als OleVariant und schreibe in der Regel Strings in die Zellen. Das funktioniert prinzipiell auch ganz gut, nur leider gibt es manchmal Strings wie
3 / 4. Excel macht da leider in seiner Anzeige den 4. März von ...
Wie kann ich Excel zwingen, dass die Zelle wirklich als Text angesehen wird und Excel nicht versucht, irgendwelche Konvertierungen vorzunehmen?
Hier noch ein bisschen Code (ohne Fehlerhandling), damit ihr sehen könnt, was ich bisher mache:
Delphi-Quellcode:
var XlApp,XlSheet : OleVariant;
XlApp:=CreateOleObject('Excel.Application');
XlApp.Visible:=FALSE;
XlApp.Workbooks.Add(xlWorkSheet);
XlSheet:=XlApp.Sheets.Add;
for cnt:=1 to AnzahlZeilen do
begin
XlSheet.Cells[Row,Spalte].Value:=Inhalt;
case QuellAusrichtung of
ausSTANDARD,ausLINKS: XlSheet.Cells[Row,Spalte].HorizontalAlignment:=xlLeft;
ausZENTRIERT : XlSheet.Cells[Row,Spalte].HorizontalAlignment:=xlCenter;
ausRECHTS : XlSheet.Cells[Row,Spalte].HorizontalAlignment:=xlRight;
end;
end;
XlApp.Workbooks[1].SaveAs(Filename);
XlApp.DisplayAlerts:=FALSE;
XlApp.Quit;
cu
easywk