hmm schaffs net
Also die Variable ist hinzugefügt
An welche Stelle muss denn
Delphi-Quellcode:
SelRange := XLApp.Workbooks[M].Worksheets[N].Range[RefToCell(1, 1), RefToCell(SheetRowCount, SheetColCount)];
SelRange.Select;
XLApp.Selection.NumberFormat := '@';
genau hin?
Würde es an die NumberFormat Stelle schreiben:
Delphi-Quellcode:
//Sheets befüllen
for M := 1 to BookCount do
begin
for N := 1 to SheetCount do
begin
//Daten aus Grid holen
Data := VarArrayCreate([1, Grid.RowCount, 1, SheetColCount], varVariant);
for I := 0 to SheetColCount - 1 do
for J := 0 to SheetRowCount - 1 do
if ((I+256*(N-1)) <= Grid.ColCount) and ((J+65536*(M-1)) <= Grid.RowCount) then
Data[J + 1, I + 1] := Grid.Cells[I+256*(N-1), J+65536*(M-1)];
XLApp.Worksheets[N].Select;
XLApp.Workbooks[M].Worksheets[N].Name := SheetName + IntToStr(N);
//Zellen als String Formatieren
//Diese dann weg? //XLApp.Workbooks[M].Worksheets[N].Range[RefToCell(1, 1), RefToCell(SheetRowCount,
//SheetColCount)].Select;
SelRange := XLApp.Workbooks[M].Worksheets[N].Range[RefToCell(1, 1), RefToCell(SheetRowCount, SheetColCount)];
SelRange.Select;
XLApp.Selection.NumberFormat := '@';
XLApp.Workbooks[M].Cells.EntireColumn.AutoFit;
XLApp.Workbooks[M].Worksheets[N].Range['A1'].Select;
//Daten dem Excelsheet übergeben
Sheet := XLApp.Workbooks[M].WorkSheets[N];
Sheet.Range[RefToCell(1, 1), RefToCell(SheetRowCount,SheetColCount)].Value := Data;
end;
end;
und das Autofit dann hinter das Befüllen?
Delphi-Quellcode:
//...
XLApp.Selection.NumberFormat := '@';
XLApp.Workbooks[M].Cells.EntireColumn.AutoFit;
XLApp.Workbooks[M].Worksheets[N].Range['A1'].Select;
//Daten dem Excelsheet übergeben
Sheet := XLApp.Workbooks[M].WorkSheets[N];
Sheet.Range[RefToCell(1, 1), RefToCell(SheetRowCount,SheetColCount)].Value := Data;
end;
end;
SelRange.Select;
XLApp.Selection.Columns.AutoFit;
So hab ich es versucht, ohne Erfolg
Wäre super wenn das noch recht gerückt wird
Danke sehr