Страница 2 из 3
					
				Визуализация работы с xlsx
				Добавлено: 26 Январь 2018, 10:42
				 finsoftrz
				В принципе, можно и без промежуточного формата. На современном компьютере создать и зачистить несколько каталогов и файлов времени много не занимает. Распарсить xml тоже быстро, они маленькие у шаблона. С другой стороны, если можно исключить это, почему бы и нет. Опять таки, а как дерево форм быстро вывести, если информация о нем упакована в куче архивов. 
Еще есть такой момент. Промежуточный формат работает железобетонно и без сюрпризов. Содержимое xlsx все же "со стороны". Мне кажется разумным разделить генерацию xlsx и визуализацию проектирования бланка через промежуточный слой. Типа компиляции...
В общем, не догма, конечно, скорее дело личных предпочтений и опыта.
			 
			
					
				Визуализация работы с xlsx
				Добавлено: 26 Январь 2018, 11:22
				 Игорь Столяров
				Как я понимаю: здесь Microsoft Excel (Apache Calc) - это среда для рисования отчёта.
Это оправданно, потому что возможности даже бесплатного офисного пакета по оформлению отчётов превосходят 
специализированные системы отчётности вроде List&Label и FastReport, не говоря уже о самопальных поделках. 
В случае OLE нужно тупо открыть нарисованную форму отчёта и расставить данные по указанным полям. Всё, отчёт готов ! 
А вот при работе через промежуточный файл, Вы сможете "перетащить" в отчёт все красоты, дизайн, стили оформления, графику ?
			 
			
					
				Визуализация работы с xlsx
				Добавлено: 26 Январь 2018, 11:49
				 finsoftrz
				Ole завязан на ms excel и работает медленно. А также имеет известные ограничния и глюки. 
При рассматриваемом подходе вся информация о шрифтах, границах, стилях и т.п. затягивается тривиально и может использоваться при построении отчетов. Я, конечно, беру не все теги, а которые нужны были. В самом бланке можно подыгрывать, используя специальные конструкции. Например, вывод картинок я не подключал, но по аналогии с xls, пишем в ячейке что-то типа карт=<имя>, <параметры> и используем для управляемой вставки.
			 
			
					
				Визуализация работы с xlsx
				Добавлено: 26 Январь 2018, 11:53
				 finsoftrz
				Я бы только еще раз заметил, что заменять всю печать на подобную технологию не целесообразно. Свободные формы быстрее и проще делать другими инструментами.
			 
			
					
				Визуализация работы с xlsx
				Добавлено: 26 Январь 2018, 12:06
				 gopstop2007
				я о целесообразности, чтобы не накалывали вареник вилкой, потом не снимали его с вилки рукой и запихивали в рот  

 
			 
			
					
				Визуализация работы с xlsx
				Добавлено: 26 Январь 2018, 12:16
				 kreator
				Игорь Столяров писал(а): 26 Январь 2018, 11:22
Как я понимаю: здесь Microsoft Excel (Apache Calc) - это среда для рисования отчёта.
Это оправданно, потому что возможности даже бесплатного офисного пакета по оформлению отчётов превосходят
специализированные системы отчётности вроде List&Label и FastReport, не говоря уже о самопальных поделках.
 
Не уверен, что это оправданно. Заставите клиента пользоваться Калком? По-хорошему нужен свой дизайнер, в котором есть возможность подкачать шаблон из Калка, из чего-то ещё. С другой стороны, если приведённые средства слабее того же Калка, то и импорт из Калка не актуален. Т.е. сначала нужно написать дизайнер отчёта, сравнимый с Калком. А это миллионы чел-час!
 
			 
			
					
				Визуализация работы с xlsx
				Добавлено: 26 Январь 2018, 12:37
				 Игорь Столяров
				kreator писал(а): 26 Январь 2018, 12:16сравнимый с Калком. А это миллионы чел-час!
 
Вот тоже и оно ! А открыть в Microsoft Excel / Word через OLE и заполнить XLSX или DOCX - проще чем игра в крысу ... 

(Для Apache / Libre Calc / Writer эти задачи прекрасно реализует библиотека EasyOpenOffice)
 
			 
			
					
				Визуализация работы с xlsx
				Добавлено: 26 Январь 2018, 12:39
				 finsoftrz
				Не, это инструмент прежде всего для себя, а не для конечного пользователя. У нас клиенты не имеют своего штата ит, поэтому им проще заказать отчет. А вот нам надо все сделать быстро. Аналогичный инструмент для xls за много лет зарекомендовал себя великолепно...
Кстати, я видел реализацию табличного дизайнера на кларионе. Там как раз такая концепция и была - рисуем бланк в программе, а выводим в xls excel (конкретнее, biff8 прямым формированием файла). Разработка коммерческая под свои проекты. Если интересно, можете найти сайт Энигмы из Харькова, у них можно было скачать демку, в которой посмотреть настройку бланков. Причем, для свободных форм они тоже используют другой дизайнер.
			 
			
					
				Визуализация работы с xlsx
				Добавлено: 26 Январь 2018, 12:42
				 finsoftrz
				Игорь Столяров писал(а): 26 Январь 2018, 12:37kreator писал(а): 26 Январь 2018, 12:16сравнимый с Калком. А это миллионы чел-час!
 
Вот тоже и оно ! А открыть в Microsoft Excel / Word через OLE и заполнить XLSX или DOCX - проще чем игра в крысу ... 

(Для Apache / Libre Calc / Writer эти задачи прекрасно реализует библиотека EasyOpenOffice)
 
Игорь Столяров писал(а): 26 Январь 2018, 12:37kreator писал(а): 26 Январь 2018, 12:16сравнимый с Калком. А это миллионы чел-час!
 
Вот тоже и оно ! А открыть в Microsoft Excel / Word через OLE и заполнить XLSX или DOCX - проще чем игра в крысу ... 

(Для Apache / Libre Calc / Writer эти задачи прекрасно реализует библиотека EasyOpenOffice)
 
Ну, проще чем Вывести секцию или Присоединить секция я ничего не знаю... Только вначале немного поработать надо, чтобы потом все легко и просто было.
 
			 
			
					
				Визуализация работы с xlsx
				Добавлено: 26 Январь 2018, 14:37
				 Yufil
				Игорь Столяров писал(а): 26 Январь 2018, 11:22
Как я понимаю: здесь Microsoft Excel (Apache Calc) - это среда для рисования отчёта.
Это оправданно, потому что возможности даже бесплатного офисного пакета по оформлению отчётов превосходят 
специализированные системы отчётности вроде List&Label и FastReport, не говоря уже о самопальных поделках. 
 
Зря это вы, батенька... Что может быть лучше хорошего генератора отчётов? Лучше только ... эх, да ничего нет лучше!  

 
			 
			
					
				Визуализация работы с xlsx
				Добавлено: 26 Январь 2018, 15:20
				 BOB
				Вроде нормальная бесплатная библиотека с исходниками для xlsx есть на c# , если интересно могу ссылку дать .
			 
			
					
				Визуализация работы с xlsx
				Добавлено: 03 Февраль 2018, 0:56
				 finsoftrz
				Вот еще пример решения с объединением ячеек и wrap. В ячейку вписываем формулу, указывая, сколько строк и колонок объединять с wrap. Имеется некоторая погрешность в преобразованиях единиц измерения, так до конца и не нашел точного алгоритма. Пришлось сделать с некоторым запасом, поэтому иногда строки могут выводиться с увеличенной высотой. В целом, думаю, вариант приемлемый.
			 
			
					
				Визуализация работы с xlsx
				Добавлено: 03 Февраль 2018, 14:00
				 finsoftrz
				Немного переделал предыдущий пример, теперь используется просто конструкция формв=<выражение>, а объединение ячеек подтягивается из шаблона. 
Еще похожая идея, но вместо ресайза высоты строки уменьшается шрифт. В ячейку вписываем формм=<выражение>.
			 
			
					
				Визуализация работы с xlsx
				Добавлено: 03 Февраль 2018, 19:24
				 gopstop2007
				хотел спросить, зачем в шаблоне строка с тремя параметрами - формв=1,3,'Наименование' ? О смотрю во втором примере уже без параметров 

 
			 
			
					
				Визуализация работы с xlsx
				Добавлено: 03 Февраль 2018, 19:44
				 finsoftrz
				На момент создания первого примера еще не было чтения объединений из шаблона. Потом появились, написал про это. Сейчас, как в последнем примере. Можно просто делать объединения для надписей, как в заголовке второй колонки, можно специальные формулы формв= и формм=, при которых выполняется либо ресайз последней строки в объединении, либо уменьшение размера шрифта. Аналогично это можно использовать и для одной ячейки.