Главная страница
    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.043 c
8-1092130763
dimon_programmer
2004-08-10 13:39
2004.11.14
Объясните про палитру


3-1098091565
Belkova
2004-10-18 13:26
2004.11.14
Поиск


1-1098872297
MikePol
2004-10-27 14:18
2004.11.14
TChart


3-1097618520
saNat
2004-10-13 02:02
2004.11.14
ADO и MS Access


1-1099386098
Некто
2004-11-02 12:01
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский