Посмотри, на основе типа данных из Query, задаётся тип ячейки Excel
| Код | DataModule1.Query1.First; repeat i:=i+1; for j:=0 to MyCol.Count-1 do case DataModule1.Query1.FieldByName(MyCol.Strings[j]).DataType of ftFloat: begin Excel.ActiveWorkBook.ActiveSheet.cells(i,j+1):=DataModule1.Query1.FieldByName(MyCol.Strings[j]).AsFloat; end; ftCurrency : begin Excel.range[Excel.Cells[i, j+1], Excel.Cells[i, j+1]].NumberFormat:= '# ##0,0000Ё.' ; Excel.ActiveWorkBook.ActiveSheet.cells(i,j+1):=DataModule1.Query1.FieldByName(MyCol.Strings[j]).Value end else Excel.ActiveWorkBook.ActiveSheet.cells(i,j+1):=DataModule1.Query1.FieldByName(MyCol.Strings[j]).AsString; end; DataModule1.Query1.Next; until DataModule1.Query1.Eof; }
|
|