Главная страница
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.052 c
2-1146844463
WST
2006-05-05 19:54
2006.05.21
Edit


2-1146826978
gadyuka
2006-05-05 15:02
2006.05.21
События мыши


3-1143795254
гога
2006-03-31 12:54
2006.05.21
Сортировка в TDBGridEh


2-1146811234
RomanH
2006-05-05 10:40
2006.05.21
Управление DBLookUpComboBox ом


15-1146030088
Alkid
2006-04-26 09:41
2006.05.21
С Днём Рождения! 26 апреля