![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Изменение порядка значений при экспорте в Excel [D5, MSSQL]
petrovskyi © (2006-11-16 13:49:00)Фигня какая-то получается. Есть ADODataSet полученный из хранимой процедуры. В EhDbGrid (EhLib v.4.1, недавно установил) вся информация отображается правильно. А вот при выбросе информации в Excel в некоторых полях (на первый взгляд абсолютно без системы, потому что все числовые поля в Delphi имеют тип BCDField) значение учеличивается на 4 порядка. Причем это только во вновь разрабатываемом модуле. В старых модулях все нормально. Есть, правда еще один ньюанс: на днях переустанавливал ПО на компьютере и вместо MS Office 2000 установил MS Office 2003, а в Delphi используется модуль Excel2000.
Кто что может объяснить?
Petrovskyi (2006-11-16 16:51:00) [1]> Vadim.Spb [6]
Попробовал - не помогло.
А помогло - вывод самих полей без преобразования в строку.
Почему так - не понимаю. Но вопрос закрыт.
Всем спасибо за помощь.
ANB (2006-11-16 16:31:00) [2]
> Petrovskyi (16.11.06 15:38) [5]
Убрать формат попробуй
Petrovskyi (2006-11-16 15:38:00) [3]>ANB [3]
Так преобразовываю и форматирую
> Vadim.Spb [4]
вот код
...
ISheet.Range['B7:B12', EmptyParam].NumberFormat := '# ### ##0';
ISheet.Range['C6:C12', EmptyParam].NumberFormat := '# ### ##0';
ISheet.Range['D6:D12', EmptyParam].NumberFormat := '# ### ##0';
ISheet.Range['E6:E12', EmptyParam].NumberFormat := '# ##0'+DecimalSeparator+'00';
MngApprArray := VarArrayCreate([0,5,0,4], varVariant);
with ADODataSet02 do begin
first;
i := 0;
while not eof do begin
MngApprArray[i,0] := FieldByName('Field1').asString;
MngApprArray[i,1] := CurrToStr(FieldByName('Field2').AsCurrency);
MngApprArray[i,2] := CurrToStr(FieldByName('Field3').AsCurrency);
MngApprArray[i,3] := CurrToStr(FieldByName('Field4').AsCurrency);
MngApprArray[i,4] := FloatToStr(FieldByName('Field5').Value);
i := i + 1;
next;
end;
end;
IRange.Value := MngApprArray;
Vadim.Spb (2006-11-16 15:25:00) [4]Petrovskyi [2]
Так покажи код!
ANB (2006-11-16 14:45:00) [5]
> Petrovskyi (16.11.06 14:12) [2]
преобразуй в строку и не мучайся. а в экселе сделай формат ячейки числовой
Petrovskyi (2006-11-16 14:12:00) [6]В том то и дело, что работаю не через компоненты, а аналогичный код в других модулях, написанных ранее, рабатает нормально.
Vadim.Spb (2006-11-16 13:58:00) [7]Чтобы не попадать на такие и прочие ошибки - проще один раз освоить экспорт в Excel не через компоненты, а своим кодом.