22.06.2006, 12:03 | #25 |
Moderator
|
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, законченный пример, производительность, экспорт/импорт |
|
|