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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.06.2006, 12:03   #25  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
AndyD... Есть ощущение, что мы несколько перестарались с массивами...
Сейчас проверил - работает и обычный Range, без всяких FormulaArray...
Просто выстраиваем наш "массив массивов" из 10 строк и 2 столбцов в диапазоне A1:B10 и передаем его OpenText... о блин!
X++:
static void Test_OpenText_NoArray_3(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:A10
    COM::createFromVariant( cells.Item( 1, 1) ).Value2(  1);
    COM::createFromVariant( cells.Item( 2, 1) ).Value2(  2);
    COM::createFromVariant( cells.Item( 3, 1) ).Value2(  3);
    COM::createFromVariant( cells.Item( 4, 1) ).Value2(  4);
    COM::createFromVariant( cells.Item( 5, 1) ).Value2(  5);
    COM::createFromVariant( cells.Item( 6, 1) ).Value2(  6);
    COM::createFromVariant( cells.Item( 7, 1) ).Value2(  7);
    COM::createFromVariant( cells.Item( 8, 1) ).Value2(  8);
    COM::createFromVariant( cells.Item( 9, 1) ).Value2(  9);
    COM::createFromVariant( cells.Item(10, 1) ).Value2( 10);
        
    // второй СТОЛБЕЦ листа - типы полей B1:B10
    COM::createFromVariant( cells.Item( 1, 2) ).Value2(  1);
    COM::createFromVariant( cells.Item( 2, 2) ).Value2(  2);
    COM::createFromVariant( cells.Item( 3, 2) ).Value2(  2);
    COM::createFromVariant( cells.Item( 4, 2) ).Value2(  2);
    COM::createFromVariant( cells.Item( 5, 2) ).Value2(  2);
    COM::createFromVariant( cells.Item( 6, 2) ).Value2(  1);
    COM::createFromVariant( cells.Item( 7, 2) ).Value2(  1);
    COM::createFromVariant( cells.Item( 8, 2) ).Value2(  1);
    COM::createFromVariant( cells.Item( 9, 2) ).Value2(  1);
    COM::createFromVariant( cells.Item(10, 2) ).Value2(  2);
    
    // !!!!!! обычный Range без всяких FormulaArray :)
    rng = wks.Range('A1:B10');
    
    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, время: 22:55.