Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.05.21;
Скачать: CL | DM;

Вниз

Сводная таблица(Excel)   Найти похожие ветки 

 
beg   (2005-06-22 23:50) [0]

Delphi 7 & Excel 2003
Хочу сгенерить сводную таблицу в Excel"е. Т.К. в Delphi нет документации по компоненту ExcellApplication
nj запустил запись макроса и записал действия чтобы посмотреть код на VBA. Взял оттуда весь код и
переписал на Delphi. Вот он сам:

procedure TForm1.Button1Click(Sender: TObject);
var ISheet: ExcelWorkSheet;
   PVTable:PivotTable;
   XLApp:Excelworkbook;
   IRange: ExcelRange;
   i, j: integer;
begin
   ISheet:= ExcelApplication1.Workbooks[1].Worksheets[1]as Excelworksheet;
   XLApp := ExcelApplication1.Workbooks[1];
   XLApp.PivotCaches.Add(xlDatabase,"Отчет!R1C2:R218C5").CreatePivotTable("","СводнаяТаблица1",EmptyParam,xlPivotTableVersi on10);
   // Здесь возникает ошибка
   ISheet.PivotTableWizard(xlDatabase,ISheet.Range["B1","E218"],ISheet.Cells.Item[3,1],"СводнаяТаблица1",true,true,true,tru e,false,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,0,false,EmptyParam);

   ISheet.Range["A3",EmptyParam].Select;
   XLApp.ShowPivotTableFieldList := True;
   PVTable:=ISheet.PivotTables("СводнаяТаблица2",EmptyParam) as PivotTable;
   PVTable.DataPivotField.PivotItems("CITY").Orientation:=xlColumnField;
   PVTable.DataPivotField.PivotItems("CITY").Position:=1;

   PVTable:=ISheet.PivotTables("СводнаяТаблица2",EmptyParam) as PivotTable;
   PVTable.DataPivotField.PivotItems("TYPE_OBJECT").Orientation:=xlColumnField;
   PVTable.DataPivotField.PivotItems("TYPE_OBJECT").Position:=1;
   PVTable.AddDataField(PVTable.DataPivotField.PivotItems("SUMMA"),"Количество по полю SUMMA", xlCount);
   PVTable.DataPivotField.PivotItems("TYPE_OBJECT").Function_:=xlSum;

   PVTable.ColumnGrand:=False;
   PVTable.RowGrand:=False;

   IRange := nil;
   ISheet := nil;
end;

Но возникает ошибка со свойством PivotTableWizard. Вот сообщение:
Could not variant of type(error) into type(integer)
Кажется из-зи 2-го параметра PivotTableWizard. Так и не разобрался с этим параметром
В чем проблема???


 
YurikGL ©   (2005-06-23 07:21) [1]


> Could not variant of type(error) into type(integer)

Если правильно понял, то где-то требуется параметр типа integer, а ты суешь другой тип.

Кинь на форму TExcelWorkSheet, набери

TExcelWorkShee.PivotTableWizard и в сплывающей подсказке посмотри типы параметров.


 
beg   (2005-06-23 09:07) [2]

Да нет там, все параметры типа OleVariant


 
YurikGL ©   (2005-06-23 12:35) [3]

Все же попробуй
  ISheet.PivotTableWizard(xlDatabase,ISheet.Range["B1","E218"],ISheet.Cells.Item[3,1],"СводнаяТаблица1",true,true,true,tru  e,false,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,0,false,1);



Страницы: 1 вся ветка

Текущий архив: 2006.05.21;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.031 c
3-1143455830
ZSergey
2006-03-27 14:37
2006.05.21
Как сделать копию записи?


15-1145595669
jb
2006-04-21 09:01
2006.05.21
Документация по BDE SQL


15-1145890224
yaro
2006-04-24 18:50
2006.05.21
Автоматический пернос данных в таблицу


15-1145707662
ZeFiR
2006-04-22 16:07
2006.05.21
JS трабла.


2-1147026747
Ksenom
2006-05-07 22:32
2006.05.21
Возможно интересный вопрос по указателям )