![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Экспорт в excel [D7, IB6.x]
Belkova © (2004-10-14 08:04:00)Мастера 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;
vv_fran (2004-10-14 16:26:00) [1]А еще есть куча компонент для экспорта DataSet в Excel.
Мне понравилось делать через EhDBGrid. Проблем не было.
Nikolay M. (2004-10-14 14:44:00) [2]
> ArrayData[I, 5] :=Fields[4]. Asstring ;
Это зачем? Насколько я умею считать до пяти, это ведь цена?
Belkova (2004-10-14 14:08:00) [3]назначаю .не помогает.
KSergey (2004-10-14 08:57:00) [4]Может что с форматами ячеек? Может их явно назначить?