Главная страница
    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.45 MB
Время: 0.053 c
3-1097733194
sanek
2004-10-14 09:53
2004.11.14
как создать таблицу с полем memo?


14-1098600944
Stef
2004-10-24 10:55
2004.11.14
Какое то маленькое окошко со списком имен


14-1098881227
Snip
2004-10-27 16:47
2004.11.14
Права в NTFS


3-1097269483
Сергей_Пл
2004-10-09 01:04
2004.11.14
Delphi + MySQL (Обсуждалось, но суть у меня совсем другая)


1-1099431497
Kolan
2004-11-03 00:38
2004.11.14
Abstrack Error





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