Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Perl: Системное программирование > Создание отчетов |
Автор: burakov 10.5.2008, 01:06 |
добрый день, стоит задача создания отчетов из БД MySQL использую модуль DBI, делаю выборку и дальше результат пишу в файл, попутно форматируя данные так, чтобы форматированные мною данные "красиво легли" и их можно было бы послать на печать Есть ли какой модуль в перл, который бы форматировал (таблично) текст ? (ведь многие отчеты - это данные в таблицах) вот например встроенная функции format, formline(); позволяет вывести текст в таблицу, но общение с ней трудоемко. поэтому и стал вопрос. может есть какой модуль, с помощью которого можно было бы создавать таблицы попроще. например задал ему ширину высоту количество колонок ну и т.д. (особенно это актуально, если таблица сложная - есть объединенные строки или столбцы). Ну типа HTML ![]() Спасибо. |
Автор: KSURi 10.5.2008, 11:29 |
http://search.cpan.org/~davidius/Text-Report-1.004/lib/Text/Report.pm |
Автор: burakov 11.5.2008, 00:55 |
Спасибо за ответы. а не подскажите есть ли для MySQL какой нибудь генератор отчетов (типа Crystal reports). Ибо перл, конечно выбирает из БД, но данные в текстовом варианте получаются уж больно некрасивые - таблицу как в word не нарисуешь ну и т.д. Попытался рисовать HTML, но столкнулся с тем, несмотря на то, что вроде как Html и задумывался как язык разметки текста, но вот таблицу с тонким border нарисовать - невозможно (есть правда обходной вариант таблица в ячейке, но он меня не устраивает). или можно как нибудь связать MySQL(хранение данных)+perl (обработка данных) + MS WORD (печать данных)? Спасибо. |
Автор: PanamOS 11.5.2008, 13:10 |
а как же стили? |
Автор: ramus 11.5.2008, 18:36 | ||
я бы вместо ворда использовал Excel (для таблиц подходит лучше ![]() модулей полно, сам пользую в таких случаях Spreadsheet::WriteExcel |
Автор: burakov 11.5.2008, 19:42 |
Большое спасибо. с Spreadsheet::WriteExcel разбираюсь. а вот с border и стилями примерчик какой нибудь коротенький! не получается никак вот кусочек кода html с применением стилей <HTML> <style type=\text/css\> table { border-width:1pt } </style> <table border> <tr> <td> ПРИВЕТ </td></tr> </table> </HTML> нужно добиться чтобы border у таблицы был тонкий (как например word по умолчанию создает) подправьте пожалуйста. Спасибо. |
Автор: ramus 11.5.2008, 20:57 | ||
Вот простой пример записи в файл в формате xls данных из БД
|
Автор: burakov 11.5.2008, 22:28 |
И все таки - может таки есть модуль, чтобы выборку из БД в WORD вставлять, Ибо очень важно для меня внешнее оформление отчетов - а красоту лучше всего в Worde наводить... я поискал на http://ppm.activestate.com/PPMPackages/zips/8xx-builds-only/Windows/ чего то ничего похожего на WriteWord ![]() может таки плохо искал? ![]() |
Автор: shamber 12.5.2008, 08:27 |
burakov, OLE вам в помощь. и формируйте, оформляйте. Win32::Ole |
Автор: burakov 12.5.2008, 11:23 |
Всем огромное спасибо. подсмотрел на forum.vingrad.ru как делать таблицы с тонкими краями (наверное все таки остановлюсь на варианте - формировать отчеты в HMTL - все таки это как то попроще для меня) Spreadsheet::WriteExcel - отличный модуль - с ним тоже у меня все получилось Win32::Ole - пока дело темное -- какая то справка по нему не подробная, но буду разбираться... всем спасибо. (тему закрываю) |
Автор: ki22 29.7.2008, 13:57 |
Если таблица с границами как у WORD имеется ввиду не 2 линии с разрывом, а одна, то это делается через стиль borded-collapsed: collapse |