Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.11.14;
Скачать: [xml.tar.bz2];

Вниз

Экспорт в 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.034 c
14-1098952410
karat
2004-10-28 12:33
2004.11.14
Алгоритм встречи Нового года


14-1098657565
Profi
2004-10-25 02:39
2004.11.14
Заболел!!!


14-1098697906
Миша Белкин
2004-10-25 13:51
2004.11.14
C# or Delphi and .Net прекрасный дует?


1-1099025763
hgd
2004-10-29 08:56
2004.11.14
Подскажите компонент аналог PageControl


14-1098954153
quickblack
2004-10-28 13:02
2004.11.14
Иконки внизу рабочего стола





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский