AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 25.11.2004, 08:37   #1  
chi is offline
chi
Участник
 
80 / 13 (1) ++
Регистрация: 21.01.2004
Интегрирование листа Excel в форму
Здравствуйте.

Скажите, а как-нибудь можно интегрировать лист Excel в форму Axapta.
Вариант ActiveX.MS Spreadsheet не подходит.

Спасибо.
Старый 05.11.2005, 21:54   #2  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,322 / 3547 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Шаблон можно загрузить. Просто предварительно его нужно сохранить в формате XML (в Excel), а Spreadsheet у дать команду XMLURL примерно так:
X++:
spreadSheet.xmlURL('c:\\КаталогШаблона\\МойШаблон.xml');
Здесь spreadSheet - ActiveX-ный контрол на форме

А вот с группировками надо посмотреть - вполне возможно что это одно из ограничений SpreadSheet
__________________
Возможно сделать все. Вопрос времени
За это сообщение автора поблагодарили: Oz (1).
Старый 17.04.2009, 11:05   #3  
propeller is offline
propeller
Участник
Аватар для propeller
 
359 / 29 (1) +++
Регистрация: 25.07.2007
!
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
Шаблон можно загрузить. Просто предварительно его нужно сохранить в формате XML (в Excel), а Spreadsheet у дать команду XMLURL примерно так:
X++:
spreadSheet.xmlURL('c:\\КаталогШаблона\\МойШаблон.xml');
Здесь spreadSheet - ActiveX-ный контрол на форме

А вот с группировками надо посмотреть - вполне возможно что это одно из ограничений SpreadSheet
все это проделал. но проблема в том что у меня в этом файле настроен куб(сводная таблица).
а уже когда в аксапте открываю через activex он просто открывается как табличка, а не сводная таблица.
как можно сделать чтобы сводная тоже сохранилась и открылась?
Старый 17.04.2009, 12:06   #4  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от propeller Посмотреть сообщение
а уже когда в аксапте открываю через activex он просто открывается как табличка, а не сводная таблица.
как можно сделать чтобы сводная тоже сохранилась и открылась?
Думаю, надо другой ActiveX из OWC-семейства использовать - PivotTable.
Если нужно, то на форме их можно рядышком со Spreadsheet'ом расположить и связать кодом (сам пока не пробовал, но читал).
За это сообщение автора поблагодарили: propeller (1).
Старый 07.11.2005, 11:30   #5  
Jox is offline
Jox
Developer
Аватар для Jox
 
112 / 24 (1) +++
Регистрация: 26.07.2005
Адрес: Питер
-> Работа с интерфейсом SpreadSheed (ActiveX на форме)
В общем, столкнулся я с такой проблемой...
Посадил на форму Spreadsheet (Имя - Report), все просто super

Код:
void clicked()
{
    COM activeSheet;
    COM range;
    COM rangeTo;
    XMLDocument     header;
    XMLDocument     footer;
    ;

    super();

    activeSheet = Report.ActiveSheet();
    //  пишу ему...
    range = activeSheet.range("B2:F2");
    header = range.xmlData();
    range.clear();

    rangeTo = activeSheet.range("B3:F3");
    footer = rangeTo.xmlData();
    rangeTo.clear();

    range.xmlData(footer);
    rangeTo.xmlData(header);
}
в общем то все было бы классно, но не работает

Хотелось бы загрузить XML-шаблон и распарсить его на XML-куски а-ля header, footer и т.д.

важно разодрать xml-ник на куски.
Старый 07.11.2005, 11:53   #6  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
А разве у Range есть метод xmlData()?

Кроме того такое присваивание неправильно
X++:
header = range.xmlData();
Сомневаюсь, что Com объект будет возвращать экземпляр класса Axapta'ы
надо так
X++:
header = new XMLDocument();
 header.loadXml(Report.xmlData());
__________________
Axapta v.3.0 sp5 kr2
Старый 07.11.2005, 11:57   #7  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
судя по тому, что написано в XSLT to transform Excel XML spreadsheet to CSV or HTML table - The Code Project - SOAP and XML надо делать так
PHP код:
header=new XMLDocument();
header.loadXML(range.XMLData()); 
Старый 07.11.2005, 15:11   #8  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
OFF: Сообщение модератора
Тема объединена с обсуждением "Работа с интерфейсом SpreadSheed (ActiveX на форме)" по причине их взаимосвязанности.

Приношу извинения, если кому-то доставил этим неудобства.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 21.01.2009, 17:56   #9  
Stainless is offline
Stainless
Участник
MCBMSS
Columbus IT
 
34 / 114 (4) +++++
Регистрация: 26.01.2007
Цитата:
Сообщение от Maxim Gorbunov Посмотреть сообщение
Тема объединена с обсуждением "Работа с интерфейсом SpreadSheed (ActiveX на форме)" по причине их взаимосвязанности.

Приношу извинения, если кому-то доставил этим неудобства.
Не смог на форму найти этой темы. Очень интересует.
Старый 22.01.2009, 09:00   #10  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от Stainless Посмотреть сообщение
Не смог на форму найти этой темы.
SpreadSheet - не d, a t на конце. Только что поиск по этому слову вернул мне 40 тем.

По интерфейсу этого COM-объекта:
Цитата:
Сообщение от Gustav Посмотреть сообщение
Поищите у себя на компьютере файлы по маске MSOWC*.*

MSOWCDSS.CHM - это описание пользовательского интерфейса SpreadSheet-а, т.е. что юзер может ручками поделать (причем, описание на русском языке в русской версии).
MSOWCVBA.CHM - VBA-шный справочник по программированию; там есть красивая картинка "Spreadsheet Object Model" (это уже, как обычно, на английском).

Можно поразглядывать также другие найденные файлы.
Старый 17.04.2009, 12:02   #11  
Eldar9x is offline
Eldar9x
MCTS
Аватар для Eldar9x
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Регистрация: 29.09.2006
Адрес: Казань
Цитата:
все это проделал. но проблема в том что у меня в этом файле настроен куб(сводная таблица).
а уже когда в аксапте открываю через activex он просто открывается как табличка, а не сводная таблица.
как можно сделать чтобы сводная тоже сохранилась и открылась?
Обозреватель веб страниц не пробовали использовать (в ActiveX, конечно)?
X++:
  ActiveX.Navigate("C:\\Documents and Settings\\___.xls") ;
За это сообщение автора поблагодарили: propeller (1).
Старый 17.04.2009, 12:09   #12  
propeller is offline
propeller
Участник
Аватар для propeller
 
359 / 29 (1) +++
Регистрация: 25.07.2007
который microsoft web browser ? сейчас попробовал. но не пойму даже каким методом в него передать путь к файлу со страничкой.
Старый 17.04.2009, 12:11   #13  
Eldar9x is offline
Eldar9x
MCTS
Аватар для Eldar9x
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Регистрация: 29.09.2006
Адрес: Казань
Цитата:
ActiveX.Navigate
в принципе, почти то же самое, но при первом запросе галку снять надо. Сами увидите.
Старый 04.08.2011, 13:45   #14  
propeller is offline
propeller
Участник
Аватар для propeller
 
359 / 29 (1) +++
Регистрация: 25.07.2007
Цитата:
Сообщение от Eldar9x Посмотреть сообщение
в принципе, почти то же самое, но при первом запросе галку снять надо. Сами увидите.
Использую:
Browser.Navigate("c:\\test.xls");
Файл открывается но не в форме а в приложении excel (2007)
Старый 04.08.2011, 13:49   #15  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от propeller Посмотреть сообщение
Файл открывается но не в форме а в приложении excel (2007)
управление документами. Как сделать preview Excel-файла во встроенном окне (а не в отдельном)?
__________________
полезное на axForum, github, vk, coub.
За это сообщение автора поблагодарили: propeller (1).
Старый 21.05.2014, 14:39   #16  
born_in_may is offline
born_in_may
Участник
 
1 / 10 (1) +
Регистрация: 03.02.2014
Добрый день!
Ситуация следующая - действительно, с помощью activeX.navigate получается открыть Excel в отдельной форме (в web browser'e),
НО если у меня уже был открыт любой файл Excel до вызова event'a navigate, то новая форма становится активной, а все остальные Excel'и блокируются и на них нельзя перейти никак.
Увы, у меня нет никаких идей, как решить данную проблему. Скажите пожалуйста, как сделать так, чтобы не блокировался уже открытый Excel?
Теги
activex, excel, spreadsheet

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Исследование скорости экспорта данных из Axapta в Excel (коллективный эксперимент) Gustav DAX: База знаний и проекты 79 13.02.2014 13:18
Баг при удалении листа Excel Zabr DAX: Программирование 7 26.03.2009 18:39
[Excel] - Несколько версий Excel на машине клиента Андре DAX: Программирование 11 07.08.2007 13:45
Вызов Item() для коллекций Excel Владимир Максимов DAX: Программирование 15 17.08.2006 19:47
Книгу Excel в OLE контейнер на Форму... Jox DAX: Программирование 0 16.09.2005 08:12
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 08:15.