|
|
|
|
#1 |
|
Участник
|
Интегрирование листа Excel в форму
Здравствуйте.
Скажите, а как-нибудь можно интегрировать лист Excel в форму Axapta. Вариант ActiveX.MS Spreadsheet не подходит. Спасибо. |
|
|
|
|
#2 |
|
Administrator
|
Шаблон можно загрузить. Просто предварительно его нужно сохранить в формате XML (в Excel), а Spreadsheet у дать команду XMLURL примерно так:
X++: spreadSheet.xmlURL('c:\\КаталогШаблона\\МойШаблон.xml');А вот с группировками надо посмотреть - вполне возможно что это одно из ограничений SpreadSheet
__________________
Возможно сделать все. Вопрос времени |
|
|
|
| За это сообщение автора поблагодарили: Oz (1). | |
|
|
#3 |
|
Участник
|
Цитата:
Сообщение от sukhanchik
Шаблон можно загрузить. Просто предварительно его нужно сохранить в формате XML (в Excel), а Spreadsheet у дать команду XMLURL примерно так:
X++: spreadSheet.xmlURL('c:\\КаталогШаблона\\МойШаблон.xml');А вот с группировками надо посмотреть - вполне возможно что это одно из ограничений SpreadSheet а уже когда в аксапте открываю через activex он просто открывается как табличка, а не сводная таблица. как можно сделать чтобы сводная тоже сохранилась и открылась? |
|
|
|
|
#4 |
|
Moderator
|
Цитата:
Если нужно, то на форме их можно рядышком со Spreadsheet'ом расположить и связать кодом (сам пока не пробовал, но читал). |
|
|
|
| За это сообщение автора поблагодарили: propeller (1). | |
|
|
#5 |
|
Developer
|
В общем, столкнулся я с такой проблемой...
Посадил на форму 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-ник на куски. |
|
|
|
|
#6 |
|
Участник
|
А разве у Range есть метод xmlData()?
Кроме того такое присваивание неправильно X++: header = range.xmlData(); надо так X++: header = new XMLDocument();
header.loadXml(Report.xmlData());
__________________
Axapta v.3.0 sp5 kr2 |
|
|
|
|
#7 |
|
Участник
|
судя по тому, что написано в XSLT to transform Excel XML spreadsheet to CSV or HTML table - The Code Project - SOAP and XML надо делать так
PHP код:
|
|
|
|
|
#8 |
|
Administrator
|
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 |
|
|
|
|
#9 |
|
Участник
|
|
|
|
|
|
#10 |
|
Moderator
|
SpreadSheet - не d, a t на конце. Только что поиск по этому слову вернул мне 40 тем.
По интерфейсу этого COM-объекта: Цитата:
Сообщение от Gustav
Поищите у себя на компьютере файлы по маске MSOWC*.*
MSOWCDSS.CHM - это описание пользовательского интерфейса SpreadSheet-а, т.е. что юзер может ручками поделать (причем, описание на русском языке в русской версии). MSOWCVBA.CHM - VBA-шный справочник по программированию; там есть красивая картинка "Spreadsheet Object Model" (это уже, как обычно, на английском). Можно поразглядывать также другие найденные файлы. |
|
|
|
|
#11 |
|
MCTS
|
Цитата:
все это проделал. но проблема в том что у меня в этом файле настроен куб(сводная таблица).
а уже когда в аксапте открываю через activex он просто открывается как табличка, а не сводная таблица. как можно сделать чтобы сводная тоже сохранилась и открылась? X++: ActiveX.Navigate("C:\\Documents and Settings\\___.xls") ; |
|
|
|
| За это сообщение автора поблагодарили: propeller (1). | |
|
|
#12 |
|
Участник
|
который microsoft web browser ? сейчас попробовал. но не пойму даже каким методом в него передать путь к файлу со страничкой.
|
|
|
|
|
#13 |
|
MCTS
|
Цитата:
ActiveX.Navigate
|
|
|
|
|
#14 |
|
Участник
|
|
|
|
|
|
#15 |
|
Участник
|
|
|
|
|
| За это сообщение автора поблагодарили: propeller (1). | |
|
|
#16 |
|
Участник
|
Добрый день!
Ситуация следующая - действительно, с помощью activeX.navigate получается открыть Excel в отдельной форме (в web browser'e), НО если у меня уже был открыт любой файл Excel до вызова event'a navigate, то новая форма становится активной, а все остальные Excel'и блокируются и на них нельзя перейти никак. Увы, у меня нет никаких идей, как решить данную проблему. Скажите пожалуйста, как сделать так, чтобы не блокировался уже открытый Excel? |
|
|
| Теги |
| activex, excel, spreadsheet |
|
|
|