Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.11.14;
Скачать: CL | DM;

Вниз

Экспорт в excel   Найти похожие ветки 

 
Belkova   (2004-10-14 08:04) [0]

Мастера Delphi, подскажите , пожалуйста, что делаю не так.
Формирую прайс и экспортирую его в excel.
На своем компьютере. Все работает хорошо.
Переношу на другой, Все экспортируется,
но значение поля цена похоже, но на несколько порядков больше.
Код привожу.
 BeginCol := 1;  BeginRow := 2;
 With Sql_FormPrice do
  begin
   Close;
   Sql.Clear;
   Sql.Add("Select Count(*) from Price_U");
   ExecQuery;
   RowCount:=Fields[0].AsInteger;
  end;
 ColCount := 5;
 try
  ExcelApp:= CreateOleObject("Excel.Application");
 except
  raise Exception.Create("Excel должен быть установлен");
 end;
 ExcelApp.Application.EnableEvents := false;
 Workbook := ExcelApp.WorkBooks.Add;
   ExcelApp.Range["C1"]:="Кол-во";
   ExcelApp.Range["E1"]:="Цена";
   ExcelApp.Range["B1"]:="Наименование";
   ExcelApp.Range["A1"]:="№";
   ExcelApp.Range["D1"]:="Кол-во на складе";
 ArrayData := VarArrayCreate([1, RowCount, 1, ColCount], varVariant);
 With Sql_FormPrice do
  begin
   Close;
   Sql.Clear;
   Sql.Add("Select * from Form_price_client(:iSale)");
   ParamByname("iSale").AsFloat:=Koef;
   ExecQuery;
 i:=1;
 While not Eof do
  begin
   ArrayData[I, 1] :=I;
   ArrayData[I, 2] :=Fields[2].AsString;
   ArrayData[I, 3] :=Fields[3].AsString;
   ArrayData[I, 4] :=Fields[5].AsFloat;
   ArrayData[I, 5] :=Fields[4].Asstring;
   i:=I+1;
   Next;
   end;
  end;
  Cell1 := WorkBook.WorkSheets[1].Cells[BeginRow, BeginCol];
  Cell2 := WorkBook.WorkSheets[1].Cells[BeginRow  + RowCount - 1,
          BeginCol + ColCount - 1];
 Range := WorkBook.WorkSheets[1].Range[Cell1, Cell2];
 Range.Value := ArrayData;
 ExcelApp.Workbooks.Close;
 ExcelApp := Unassigned;
 ExcelApp:=Null;
 finally
  NExcel.Enabled:=True;
 end;


 
KSergey ©   (2004-10-14 08:57) [1]

Может что с форматами ячеек? Может их явно назначить?


 
Belkova   (2004-10-14 14:08) [2]

назначаю .не помогает.


 
Nikolay M. ©   (2004-10-14 14:44) [3]


> ArrayData[I, 5] :=Fields[4].Asstring;

Это зачем? Насколько я умею считать до пяти, это ведь цена?


 
vv_fran   (2004-10-14 16:26) [4]

А еще есть куча компонент для экспорта DataSet в Excel.
Мне понравилось делать через EhDBGrid. Проблем не было.



Страницы: 1 вся ветка

Текущий архив: 2004.11.14;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.023 c
14-1098554938
Piter
2004-10-23 22:08
2004.11.14
Ищу архив ветки об обновлении FAQ


14-1099141295
Ilya___
2004-10-30 17:01
2004.11.14
Подскажите как работает система баннерного


1-1099426141
SteelMan
2004-11-02 23:09
2004.11.14
что за файл qtintf.dll


1-1099093278
Garfunkel
2004-10-30 03:41
2004.11.14
Прокручивающийся текст


14-1098772125
malamba
2004-10-26 10:28
2004.11.14
Кто как пишет запросы?