06.05.2008, 15:47 | #1 |
Участник
|
Метки ...
Здраствуйте ,
Сделал я перемешение данных в Ехсел . Всё работает . Вот кусочек исходника : Код: dt = new DictTable( tableName2Id( "UTSalesPlanTmp" ) ); excel = new ComExcelDocument_RU(); excel.newFile(m_sTemplateFile, false, -1); tb = new TextBuffer(); _iRow = 1; z = dt.fieldCnt() - 12; cVar1 = UTExcelCol2Char( z ); cStr1 = ""; for ( m = 1; m <= z; m ++ ) { cStr = dt.fieldObject( dt.fieldCnt2Id( m ) ).label( m ); cStr1 = UTExcelCol2Char( m ); excel.insertValue( strFmt("%1%2", cStr1, _iRow ), cStr ); } while select tmp3 { _iRow ++; cStr = ""; for ( m = 1; m <= z; m ++ ) { fld = fieldId2Ext( dt.fieldCnt2Id( m ), 1 ); cStr += strfmt( "%1", tmp3.( fld ) ) + ( m < z ? num2char( 9 ) : "" ); } tb.appendText( cStr ); tb.toClipboard(); excel.UTPaste( strFmt("A%1", _iRow, cVar1 ) ); tb.setText(""); } excel.Visible(true); excel.finalize(); Код: for ( m = 1; m <= z; m ++ ) { cStr = dt.fieldObject( dt.fieldCnt2Id( m ) ).label( m ); cStr1 = UTExcelCol2Char( m ); excel.insertValue( strFmt("%1%2", cStr1, _iRow ), cStr ); } С уважением , Римантас |
|
06.05.2008, 16:08 | #2 |
Участник
|
Проверил на нескольких версиях (3.0 SP1 и 5.0)
На обоих выдает правильный результат - метку с поля таблицы |
|
07.05.2008, 10:59 | #3 |
Участник
|
А зачем писать
.label(m) У тебя поля - это массивы? Убери параметр из метода label() |
|
07.05.2008, 11:26 | #4 |
Участник
|
А оно, видимо, не важно, если не массивы. Я проверил - всегда выдает правильный результат.
Мне больше понравилось fieldCnt() - 12 |
|
07.05.2008, 13:01 | #5 |
Участник
|
|
|
07.05.2008, 13:33 | #6 |
Участник
|
Да я так и предположил. Но смотрится оригинально - магическая цифра 12
|
|