Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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
9-1130332463
Кефир87
2005-10-26 17:14
2006.05.21
TDXSound без VCL


15-1145948611
OlegP
2006-04-25 11:03
2006.05.21
Леди анд лжентельмены, это надо отметить!


2-1146232505
Mark86rus
2006-04-28 17:55
2006.05.21
Как при перекодировке из Win 1251 в KOI8 избавиться от значений?


2-1146717601
alkin
2006-05-04 08:40
2006.05.21
Как правильно сформировать SQL запрос


15-1144649420
pavel_guzhanov
2006-04-10 10:10
2006.05.21
Как сделать, чтобы в Delphi 2006 не открывалась Welkome Page?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский