14.06.2006, 22:23 | #11 |
Участник
|
Несколько предложений по исследованию Gustav различных вариантов использования ComExcelDocument_RU
1. При создании нового файла Excel использован код X++: excel.newFile("", true, -1); Первый (самый простой) вариант - открывать в невидимом режиме и показывать после выгрузки всех данных. Второй вариант - запретить перед экспортом пользовательский ввод и обновления в открытой книге. X++: COM app; ; ... app = doc.Application(); app.Interactive(False); // запрет пользовательского ввода app.ScreenUpdating(False); // запрет обновления окна при изменении данных ... app.Interactive(True); app.ScreenUpdating(True); X++: COM doc;
COM actSheet;
COM range;
...
doc = excel.getComDocument();
actSheet = doc.ActiveSheet();
...
while ()
{
...
range = actSheet.range(ComExcelDocument_RU::numToNameCell( 1, row));
range.Value2(ledgerTrans.RecId);
range = actSheet.range(ComExcelDocument_RU::numToNameCell( 2, row));
range.Value2(ledgerTrans.AccountNum);
... 3. Окончательная реабилитация Range. Третий вариант с использованием только интерфейсов - вставка при помощи массивов X++: COM actSheet; COM range; Array arr; ... while () { ... arr = new Array(Types::String); arr.value( 1, strfmt("%1", ledgerTrans.RecId)); arr.value( 2, strfmt("%1", ledgerTrans.AccountNum)); arr.value( 3, strfmt("%1", ledgerTable.AccountName)); arr.value( 4, strfmt("%1", ledgerTable.AccountPlType)); arr.value( 5, strfmt("%1", ledgerTrans.BondBatchTrans_RU)); arr.value( 6, strfmt("%1", ledgerTrans.BondBatch_RU)); arr.value( 7, strfmt("%1", ledgerTrans.TransDate)); arr.value( 8, strfmt("%1", ledgerTrans.Txt)); arr.value( 9, strfmt("%1", ledgerTrans.AmountMST)); arr.value(10, strfmt("%1", ledgerTrans.Crediting)); range = actSheet.range(strfmt("A%1:J%1", row)); range.value2(COMVariant::createFromArray(arr)); PS. Упс. Ошибка. Так делать нельзя. X++: excel.insertValue(range, ledgerTrans.AccountNum); X++: excel.insertValueInRange(range, ledgerTrans.AccountNum); X++: range.Value2(ledgerTrans.AccountNum);
__________________
Axapta v.3.0 sp5 kr2 Последний раз редактировалось AndyD; 15.06.2006 в 09:24. |
|
|
За это сообщение автора поблагодарили: belugin (11). |
Теги |
benchmark, download, excel, faq, xml, законченный пример, производительность, экспорт/импорт |
|
|