Форум: "Corba";
Текущий архив: 2006.05.21;
Скачать: [xml.tar.bz2];
ВнизСводная таблица(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 вся ветка
Форум: "Corba";
Текущий архив: 2006.05.21;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.012 c