|
24.02.2011, 19:10 | #1 |
Moderator
|
Цитата:
X++: { ComExcelDocument_RU doc = new ComExcelDocument_RU(); COM xlApp; COM wbook; COM activeSheet; COM range; COMEnum2Object cellCollection; COM cell; COMVariant prefChar; ; doc.NewFile('',true); wbook = doc.getComDocument(); xlApp = wbook.Parent(); activeSheet = xlApp.ActiveSheet(); range = activeSheet.Range('A1:A100'); range.Value2("'30101810100000000859"); // 1. выводим значения с ведущим апострофом (одинарной кавычкой) print 'Загляните в окошко Excel'; pause; range.NumberFormat('@'); // 2. форматируем заполненный диапазон как Текст cellCollection = new COMEnum2Object(range); // 3. перебирая ячейки диапазона, удаляем ведущий апостроф, если находим for (cell = cellCollection.getFirst(); cell; cell = cellCollection.getNext()) { prefChar = cell.PrefixCharacter(); if (prefChar.bStr() == "'") { cell.Value2(cell.Value2()); // "удаляем" = переписываем значение само на себя } } info('Еще раз загляните в окошко Excel'); } Вот, вроде всё работает: X++: { ComExcelDocument_RU doc = new ComExcelDocument_RU(); COM xlApp; COM wbook; COM activeSheet; COM range; ; doc.NewFile('',true); wbook = doc.getComDocument(); xlApp = wbook.Parent(); activeSheet = xlApp.ActiveSheet(); range = activeSheet.Range('A1:A100'); range.NumberFormat('@'); // предварительное форматирование КАК ТЕКСТ ячеек вывода коррсчета range.Value2("30101810100000000859"); // выводим значения коррсчета БЕЗ апострофа } |
|
|
За это сообщение автора поблагодарили: tolstjak (1). |
25.02.2011, 08:16 | #2 |
Участник
|
Большое спасибо за очень развернутый ответ. Все понятно.
__________________
Александр |
|
26.05.2011, 16:51 | #3 |
Участник
|
Заработало
Забыл отписаться, все заработало через COM объект RecordSet, теперь для построения отчетов который выводятся в Excel, нет необходимости ставить сей продукт от MS, на каждую клиентскуб тачку.....
если интересно позже выложу подробности. |
|