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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.03.2012, 11:52   #1  
NickMDAX is offline
NickMDAX
Участник
 
16 / 11 (1) +
Регистрация: 12.09.2011
Адрес: Moscow
? объединение ячеек при формировании Excel
Добрый день всем!Помогите новичку.
При формировании отчета в Excel (использую ExcelTextBuffer) делаю в шапке объединение ячеек :
X++:
while (seded.moveNext())
    {
        cellsConDed = seded.current();
        for (i =1; i <= conlen(cellsConDed); i++)
        {
            document.getComExcelDocument().mergeRange(conpeek(cellsConDed,i),1);
        }
        cellsConDed = connull();
    }
В результате документ формируется, но перед созданием выдает предупреждение при объединении каждой ячейки.
Подскажите как отключить это сообщение или игнорировать его????
Заранее спасибо !!
Миниатюры
Нажмите на изображение для увеличения
Название: ExcelInfo.jpg
Просмотров: 395
Размер:	29.3 Кб
ID:	7605  
Старый 01.03.2012, 12:08   #2  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
Цитата:
Сообщение от NickMDAX Посмотреть сообщение
Добрый день всем!Помогите новичку.
При формировании отчета в Excel (использую ExcelTextBuffer) делаю в шапке объединение ячеек :
X++:
while (seded.moveNext())
    {
        cellsConDed = seded.current();
        for (i =1; i <= conlen(cellsConDed); i++)
        {
            document.getComExcelDocument().mergeRange(conpeek(cellsConDed,i),1);
        }
        cellsConDed = connull();
    }
В результате документ формируется, но перед созданием выдает предупреждение при объединении каждой ячейки.
Подскажите как отключить это сообщение или игнорировать его????
Заранее спасибо !!
скорее всего в тех ячейках, которые вы выделяете, содержаться данные (т.е. например, надо объединить ячейку 1 и 2, но так как у вас есть данные и в ячейке 1 и в ячейке 2, то соответственно Excel Вас предупреждает).
Соответственно проверьте правильность определения объединения ячеек.
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 01.03.2012, 13:32   #3  
NickMDAX is offline
NickMDAX
Участник
 
16 / 11 (1) +
Регистрация: 12.09.2011
Адрес: Moscow
Цитата:
Сообщение от lev Посмотреть сообщение
скорее всего в тех ячейках, которые вы выделяете, содержаться данные (т.е. например, надо объединить ячейку 1 и 2, но так как у вас есть данные и в ячейке 1 и в ячейке 2, то соответственно Excel Вас предупреждает).
Соответственно проверьте правильность определения объединения ячеек.
Да именно так, в ячейках находятся названия колонок, которые в свою очередь добавляются динамически,копированием шаблонной колонки, в зависимости от количества элементов в мапе:
X++:
 while(meAdd.moveNext())
{         
       document.getComExcelDocument().insertColumn(9 + meAdd.currentValue() - 2);
       //далее вносим значение        
}
я так понимаю метод insertColumn копирует и данные, а чтобы не появлялось предупреждение , новые колонки должны быть пустыми.....никак не могу разобраться, не подскажете как это сделать?
Старый 01.03.2012, 13:37   #4  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
Цитата:
Сообщение от NickMDAX Посмотреть сообщение
Да именно так, в ячейках находятся названия колонок, которые в свою очередь добавляются динамически,копированием шаблонной колонки, в зависимости от количества элементов в мапе:
X++:
 while(meAdd.moveNext())
{         
       document.getComExcelDocument().insertColumn(9 + meAdd.currentValue() - 2);
       //далее вносим значение        
}
я так понимаю метод insertColumn копирует и данные, а чтобы не появлялось предупреждение , новые колонки должны быть пустыми.....никак не могу разобраться, не подскажете как это сделать?
первое что пришло в голову. в начале создацте колонки, объедените их, а потом уже пропишите в них текст
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
За это сообщение автора поблагодарили: NickMDAX (1).
Старый 01.03.2012, 13:50   #5  
NickMDAX is offline
NickMDAX
Участник
 
16 / 11 (1) +
Регистрация: 12.09.2011
Адрес: Moscow
Цитата:
Сообщение от lev Посмотреть сообщение
первое что пришло в голову. в начале создацте колонки, объедените их, а потом уже пропишите в них текст
Да действительно помогло!премного благодарен!!
Старый 01.03.2012, 13:58   #6  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
Цитата:
Сообщение от NickMDAX Посмотреть сообщение
Да действительно помогло!премного благодарен!!
Кстати, а вас жизнь заставила формировать вид документа в Excel на лету из кода?
почему не используете шаблоны *.xlt?
тогда можно было бы не тратить время в отчете на программирование "морды" документа.
программирование вида документа так же увеличивает время вывода отчета (в зависимости от отчета время может увеличиваться как незначительно, так и очень сильно).
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
За это сообщение автора поблагодарили: gl00mie (2).
Старый 02.03.2012, 09:47   #7  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Не ячейки а строки. Вот пример из метода run класса SalesBookAnalyticJournal_RU:
X++:
excel.insertPageBreak(strfmt('%1:%1', noOfVPageBreaks), 1);
Старый 05.03.2012, 08:09   #8  
NickMDAX is offline
NickMDAX
Участник
 
16 / 11 (1) +
Регистрация: 12.09.2011
Адрес: Moscow
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
Не ячейки а строки. Вот пример из метода run класса SalesBookAnalyticJournal_RU:
X++:
excel.insertPageBreak(strfmt('%1:%1', noOfVPageBreaks), 1);
Обошелся
X++:
 excel.insertPageBreakBeforeRow(j + i);
в моем случае оказалось удобнее...но все равно спасибо!
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Высота ячеек Excel eva DAX: Программирование 8 20.03.2012 22:42
Падение DAX при формировании отчета в Excel Storaenso DAX: Прочие вопросы 16 06.07.2011 15:57
Excel диапазон ячеек andrewK DAX: Программирование 9 03.05.2010 20:37
Передать данные с сервера на клиент при формировании Excel отчета Eldar9x DAX: Программирование 10 21.10.2008 15:39

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

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

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