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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.06.2006, 11:00   #11  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
2 belugin
Насчет & и т.п.
Excel нормально отрабатывает их присутствие в данных, единственно - если угловые скобки идут парой <> - то будет ошибка формата.
Но вообще согласен - надо отрабатывать такие ситуации.

Вот код функции, заменяющей спецсимволы в строке
X++:
    str 1 entity[5];
    str 6 entityReference[5];
    str getEntities(str s1)
    {
        int j, pos;
        ;
        for (j=1;j<=5;j++)
        {
            pos = strscan(s1, entity[j], 1, strlen(s1));
            while (pos)
            {
                s1 = substr(s1, 1, pos-1) + entityReference[j] + substr(s1, pos+1, strlen(s1));
                pos = strscan(s1, entity[j], pos + 1, strlen(s1));
            }
        }
        return s1;
    }
    ;
    entity[1] = "&";
    entity[2] = "<";
    entity[3] = ">";
    entity[4] = "'";
    entity[5] = '"';
    entityReference[1] = "&amp;";
    entityReference[2] = "&lt;";
    entityReference[3] = "&gt;";
    entityReference[4] = "&apos;";
    entityReference[5] = "&quot;";
....
        buf +=
            strfmt(
...
                ledgerTrans.RecId, getEntities(ledgerTrans.AccountNum), getEntities(ledgerTable.AccountName), ledgerTable.AccountPlType,
                ledgerTrans.BondBatchTrans_RU, ledgerTrans.BondBatch_RU,
                date2str(ledgerTrans.TransDate, 321, 2, 3, 2, 3, 4), getEntities(ledgerTrans.Txt),
                strltrim(strrem(num2str(ledgerTrans.AmountMST, 10, 2, 1, 0), "+")), ledgerTrans.Crediting,
                #toFile ? "" : (cnt mod 2 == 1 ? " ss:StyleID=\"s15\"" : " ss:StyleID=\"s16\""),
                cnt mod 2 == 1 ? " ss:StyleID=\"s12\"" : " ss:StyleID=\"s13\"",
                cnt mod 2 == 1 ? " ss:StyleID=\"s10\"" : " ss:StyleID=\"s11\"",
                #toFile ? (cnt mod 2 == 1 ? " ss:StyleID=\"s15\"" : " ss:StyleID=\"s16\"") : "");
...
Время загрузки увеличивается на 3-4 с

PS упс. исправил
__________________
Axapta v.3.0 sp5 kr2

Последний раз редактировалось AndyD; 09.06.2006 в 11:43.
Теги
benchmark, download, excel, faq, xml, законченный пример, производительность, экспорт/импорт

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Axapta программирует Excel на VBA Gustav DAX: База знаний и проекты 10 13.03.2006 11:42
Использование OWC.Spreadsheet для ускорения экспорта/импорта в/из Excel. storer DAX: Программирование 24 28.03.2005 19:10
Передача данных из 1С в Axapta 3.0 через COM Connector isbist DAX: Программирование 10 03.12.2004 10:58
Особенности экспорта данных в Excel Roman-sp DAX: Функционал 18 01.03.2004 12:07
Введение в Аксапту Роман Кошелев DAX: Прочие вопросы 0 18.12.2001 14:00

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

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

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