|  19.10.2009, 17:46 | #1 | 
| Участник | 
			
			Импорт, экспорт, обрисовка, добавлние в шаблон, работа с цветом, шрифтами и т.д.
		 | 
|  | 
|  27.10.2009, 15:04 | #2 | 
| Участник | 
			
			Увы произодительность не та. Есть у меня реактивная штука для заполнения шаблонов(и быстро и форматированно) 10000 строк в секунду, всё через MS Excel, но пока не делюсь. | 
|  | 
|  27.10.2009, 16:54 | #3 | 
| Участник | Цитата: P.S. Жаль, что Mazzy не починил "предупреждения"   | 
|  | 
|  27.10.2009, 17:03 | #4 | 
| MCTS | Цитата: http://forum.mazzy.ru/index.php?showtopic=5738 http://forum.mazzy.ru/index.php?showtopic=5604   | 
|  | 
|  28.10.2009, 12:16 | #5 | 
| Участник | 
			
			Речь не идет об отчетах в 10-ки тысяч строк, к тому же это уже не отчет,а скорее выборка данных. Для таких случаев пользую SQL-запросы и Cognos | 
|  | 
|  28.10.2009, 12:43 | #6 | 
| Участник | 
			
			Мне кажется делать форматирование через C\AL очень трудозатратно. Суть нового метода такова: Выгрузка происходит в фал с разделителями. Параллельно с эти подготавливается шаблон Подготавливатеся шаблон, в соответсвии с количеством строк Код:       objSheetTL.Range(Строка шаблона).Copy;
      objRangeOL := objSheetOL.Range("100000 строк отчета"));
      objRangeOL.PasteSpecial(-4104); //Вставляю всё'Microsoft Excel 12.0 Object Library'.QueryTable Код:     objRangeOL := objSheetOL.Cells;
    objQueryTableL := objSheetOL.QueryTables.Add(STRSUBSTNO('TEXT;'+FileNameL,i),objRangeOL);
    objQueryTableL.PreserveFormatting := TRUE;
    objQueryTableL.RefreshStyle := 0; //xlOverwriteCells
    objQueryTableL.TextFilePlatform := 866;
    objQueryTableL.TextFileStartRow := 1;
    objQueryTableL.TextFileParseType :=1 ;
    objQueryTableL.TextFileTextQualifier := -4142; //xlTextQualifierNone
    objQueryTableL.TextFileConsecutiveDelimiter := FALSE;
    objQueryTableL.TextFileTabDelimiter := TRUE;
    objQueryTableL.TextFileSemicolonDelimiter := FALSE;
    objQueryTableL.TextFileCommaDelimiter := FALSE;
    objQueryTableL.TextFileSpaceDelimiter := FALSE;
    objQueryTableL.AdjustColumnWidth := FALSE;
    objQueryTableL.Refresh(FALSE);
    objQueryTableL.Delete;Это коротко о сути метода. Есть заморочки с подготовкой форматирования, данных и формул. | 
|  | 
|  29.10.2009, 13:42 | #7 | 
| Участник | Цитата: 
		
			Сообщение от apanko
			   Прототипы получили развитие? http://forum.mazzy.ru/index.php?showtopic=5738 http://forum.mazzy.ru/index.php?showtopic=5604  См топик выше, как выдерну из контекста конфикурации, так сразу же выложу. | 
|  |