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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 04.09.2020, 18:52   #1  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,164 / 1293 (48) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
Специальные именованные диапазоны Excel и работа с ними в DAX2012 при помощи OXML
Для использования в наследнике XmlExcelReport_RU стандартным образом создаю файл, который загружаю в ресурс, на его основе формируется отчет.
Мне нужно чтобы определенная строка повторялась на каждой странице при печати, для этого в настройках параметров страницы задаю «Сквозные строки». В диспетчере имен появилась строка с именем «Заголовки для печати» и нужным диапазоном.
Файл сохраняется, в его структуре в workbook.xml в узле <definedNames> появился узел
X++:
<definedName name="_xlnm.Print_Titles" localSheetId="1">!$5:$5</definedName>
То есть, все хорошо, открываем этот файл, в диспетчере имен так и есть «Заголовки для печати», в параметрах страницы сквозные строки заполнены.
В самом наследнике XmlExcelReport_RU с этим диапазоном не делаю вообще ничего. Движок считал из файла-образца (ну по стандарту – из ресурса сохранил во временный файл, открыл его, обработал) в том числе движок, поняв что есть именованный диапазон _xlnm.Print_Titles, при завершении работы (сохранении сформированного файла в темповый) именно с этим же именем и диапазоном и создал нужный узел.
Но при открытии параметров страницы оказалось, что поле сквозных строк пустое. Диспетчер имен показывает, что есть именованный диапазон, но он теперь называется не «Сквозные строки», а «Print_Titles». Вроде бы логично, именно с таким наименованием он сохранен в файле, но теперь Excel не воспринимает его как специальный диапазон для сквозных строк. В структуре файла все так же: в узле <definedNames> есть узел
X++:
<definedName name="_xlnm.Print_Titles" localSheetId="1">!$5:$5</definedName>
Делаю уже в файле результата опять настройку сквозных строк, в диспетчере имен появляется «Сквозные строки», имя «Print_Titles» остается, сохраняю файл, в его структуре теперь два узла:
X++:
<definedName name="_xlnm.Print_Titles" localSheetId="1">!$5:$5</definedName>
<definedName name="Print_Titles" localSheetId="1">!$5:$5</definedName>
Есть подозрение, что все это из-за локализованного Excel, но что с этим делать? Файл прошел через движок работы с OpenXML DAX2012 и сломался. Как заставить сформированный файл использовать специальные именованные диапазоны из образца?
Теги
excel, open xml

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
axforum blogs: Excel OXML Book Protection Blog bot DAX Blogs 0 21.07.2015 01:13
Работа с Excel через COM и ошибка 0x800A03EC (Range.AutoFilter) gl00mie DAX: Программирование 15 30.03.2007 18:37
Сколько записей можно импортировать при помощи шаблонов Excel& Penguin DAX: Функционал 13 17.08.2005 13:36
COM и работа с шаблонами Excel skvach DAX: Программирование 6 04.12.2003 16:58
Совместная работа OLAP и Excel 2000 Lenin DAX: Прочие вопросы 1 09.07.2003 13:24
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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