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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.06.2006, 17:56   #1  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2476 (88) +++++++++
Регистрация: 20.08.2005
Шутники, однако...
__________________
Axapta v.3.0 sp5 kr2
Старый 21.06.2006, 18:01   #2  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от AndyD
Кстати, когда пробовал - написал код в VBA и в нем передавал строку с разделителями запятая и точка с запятой. Массив формировался нормально.
Аналогично. Это, получается, международный формат, который следует применять в макросах.
С суффиксом Local свойства FormulaArray у Range не увидел (в отличие от других Formula...).

Пока не понятно только, почему Акса в этом случае требует не запятую, а обратный слэш...

P.S. Так... чуть теплее... у меня запятая используется в качестве десятичного разделителя...
AndyD, а Вы можете прогнать у себя свой джоб, заменив свою точку с запятой на обратный слэш?
т.е. с FormulaArray(@'={1\1: 2\2: 3\2: 4\2: 5\2: 6\1: 7\1: 8\1: 9\1: 10\1}');

Последний раз редактировалось Gustav; 21.06.2006 в 18:07.
Старый 21.06.2006, 18:57   #3  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
А, собственно говоря, чччо мы мучаемся... Пусть Excel сам всё и определяет для себя - все свои сепараторы, семиколоны, комасы и прочие бэкслэши - используем эксельную функцию TRANSPOSE :
X++:
static void Test_OpenText_FormulaArray_2(Args _args)
{
    COM xlApp;
    COM rng;
    
    COM wbks, wbk;
    COM wkss, wks;
    COM cells;
    ;
    
    xlApp = new COM('Excel.Application');   
    xlApp.Visible(true);
    
    wbks = xlApp.Workbooks();   
    wbk = wbks.Add();
    
    wkss = wbk.Worksheets();
    wks = wkss.Item(1);
    
    cells = wks.Cells();
    
    // первая строка листа - номера полей A1:J1
    COM::createFromVariant( cells.Item(1,  1) ).Value2(  1);
    COM::createFromVariant( cells.Item(1,  2) ).Value2(  2);
    COM::createFromVariant( cells.Item(1,  3) ).Value2(  3);
    COM::createFromVariant( cells.Item(1,  4) ).Value2(  4);
    COM::createFromVariant( cells.Item(1,  5) ).Value2(  5);
    COM::createFromVariant( cells.Item(1,  6) ).Value2(  6);
    COM::createFromVariant( cells.Item(1,  7) ).Value2(  7);
    COM::createFromVariant( cells.Item(1,  8) ).Value2(  8);
    COM::createFromVariant( cells.Item(1,  9) ).Value2(  9);
    COM::createFromVariant( cells.Item(1, 10) ).Value2( 10);
    
    // вторая строка листа - типы полей A2:J2
    COM::createFromVariant( cells.Item(2,  1) ).Value2(  1);
    COM::createFromVariant( cells.Item(2,  2) ).Value2(  2);
    COM::createFromVariant( cells.Item(2,  3) ).Value2(  2);
    COM::createFromVariant( cells.Item(2,  4) ).Value2(  2);
    COM::createFromVariant( cells.Item(2,  5) ).Value2(  2);
    COM::createFromVariant( cells.Item(2,  6) ).Value2(  1);
    COM::createFromVariant( cells.Item(2,  7) ).Value2(  1);
    COM::createFromVariant( cells.Item(2,  8) ).Value2(  1);
    COM::createFromVariant( cells.Item(2,  9) ).Value2(  1);
    COM::createFromVariant( cells.Item(2, 10) ).Value2(  1);
    
    rng = wks.Range('A11:B20');
    
    rng.FormulaArray('=TRANSPOSE(A1:J2)');
    // используем формулу выше вместо формулы ниже :)
    // rng.FormulaArray(@'={1\1; 2\2; 3\2; 4\2; 5\2; 6\1; 7\1; 8\1; 9\1; 10\1}');
    
        
    wbks.OpenText
    (
    'C:\\demo.txt', //FileName
    1251, // Origin,
    1, // StartRow,
    1, // DataType
    1, // TextQualifier
    false, // ConsecutiveDelimiter,
    true, // Tab,
    false, // Semicolon,
    false, // Comma,
    false, // Space,
    false, // Other,
    '', // OtherChar,
    rng // FieldInfo
    );
    
}
Теги
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, время: 12:43.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.