|
![]() |
#1 |
Участник
|
2ANDY - большое спасибо, указанным методом (_copy) копирование сработало.
2Макс - помучморил pivotTable.Export - выкидывает настроенные фильтры в xml файл формате, затем экселем этот файл открываем, обновляем данные и сохраняем в xls - теперь данные отображаются и без наличия источника. Осталось прикрутить твое мегаполе XMLData с фильтрами ![]() Вот черновой код, запускается из временной кнопки формы OLAPPivotTable: X++: void pivot2xls() { COM application = new COM('Excel.application'); COM workBooks; COM workBook; COM workSheets; COM workSheet; COM pivTables; COM pivTable; COM pivCache; ; //этот вариант для копирования в буфер но внешний вид //получается лучше у экспорта //pivotTable._copy(pivotTable.ActiveView()); //зачистка ненужных файлов дабы эксель не задавал дурацких вопросов WinAPI::deleteFile('c:\\1.htm'); WinAPI::deleteFile('c:\\test.xls'); //экспорт htm pivotTable.Export('c:\\1.htm', 0); // 0 = тупо выгрузить // 1 = 0 + отобразить в экселе //конвертация в xls workBooks = application.workBooks(); workBook = workBooks.open('c:\\1.htm'); workSheets = workBook.worksheets(); workSheet = workSheets.item("Лист1"); //если не подсосать данные их источника то файл будет пустым pivTables = workSheet.PivotTables(); pivTable = pivTables.item("Сводная таблица Microsoft Office 11.0"); pivCache = pivTable.PivotCache(); pivCache.Refresh(); //сохранение в xls workBook.saveAs('c:\\test.xls', 39); //39 - XlFileFormat::xlExcel5, xlExcel7 //на этом и закончим application.quit(); http://www.compress.ru/Archive/CP/2000/12/28/ Последний раз редактировалось zinius; 14.02.2007 в 10:30. |
|
Теги |
excel, olap, сводная таблица |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|