- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
Отчетность "на коленке".
Модератор: Глоб.модераторы
-
- завсегдатай
- Сообщения: 524
- Зарегистрирован: 05 окт 2009, 11:51
- Имя: Тихомиров Дмитрий Викторович
- Страна: Россия
- город/регион: Москва
- Благодарил (а): 17 раз
- Поблагодарили: 20 раз
Отчетность "на коленке".
Коллеги, добрый день!
Возникла внезапная нестандартная задача:
1) Имеем .CSV файлы с логами некоторой системы.
2) При этом система не умеет генерировать из них отчеты.
3) Нужны отчеты из этих логов в нормальном виде. Типа лого компании, красивые заголовки и т.д. Желателен выход в .PDF.
4) Хочется универсальное решение, которое будет работать и с логами от простых панелей оператора, если их утащить на флешке.
5) Ввиду разного уровня пользователей, хотелось бы в виде "принес файл, нажал одну кнопку, получил отчет". Ну, максимум, еще даты интересующие выставил.
Пока два решения вижу: Или скрипт в эклеле, который будет парсить csv-шки и в этот же эксель выгружать обработанное и отфильтрованное, или генератор отчетов по шаблону из командной строки, т.е. не dll какая-нибудь, а exe-шник, в который передаются параметры. Но первое решение какое-то некрасивое, ексель еще нужен лицензионный, придумывать, как вызывать скрипт, чтобы и кнопка в отчете не торчала и даже бухгалтер бы справился... Второе решение - не нашел нормальных реализаций. Только что-то "для себя в академических интересах". Третья мысль - запихнуть вызов генератора отчетов (типа того же Crystall) в экселевские скрипты vba, но это что-то совсем извращение какое-то... Ну и еще бесплатный для коммерческого использования генератор хотелось бы...
При этом я программист контроллеров и на stl вам напишу! А вот с современными языками общего назначения не дружу совсем. :(
Может ли кто-нибудь помочь советом, в какую сторону копать, чтобы хорошо сделать?
Возникла внезапная нестандартная задача:
1) Имеем .CSV файлы с логами некоторой системы.
2) При этом система не умеет генерировать из них отчеты.
3) Нужны отчеты из этих логов в нормальном виде. Типа лого компании, красивые заголовки и т.д. Желателен выход в .PDF.
4) Хочется универсальное решение, которое будет работать и с логами от простых панелей оператора, если их утащить на флешке.
5) Ввиду разного уровня пользователей, хотелось бы в виде "принес файл, нажал одну кнопку, получил отчет". Ну, максимум, еще даты интересующие выставил.
Пока два решения вижу: Или скрипт в эклеле, который будет парсить csv-шки и в этот же эксель выгружать обработанное и отфильтрованное, или генератор отчетов по шаблону из командной строки, т.е. не dll какая-нибудь, а exe-шник, в который передаются параметры. Но первое решение какое-то некрасивое, ексель еще нужен лицензионный, придумывать, как вызывать скрипт, чтобы и кнопка в отчете не торчала и даже бухгалтер бы справился... Второе решение - не нашел нормальных реализаций. Только что-то "для себя в академических интересах". Третья мысль - запихнуть вызов генератора отчетов (типа того же Crystall) в экселевские скрипты vba, но это что-то совсем извращение какое-то... Ну и еще бесплатный для коммерческого использования генератор хотелось бы...
При этом я программист контроллеров и на stl вам напишу! А вот с современными языками общего назначения не дружу совсем. :(
Может ли кто-нибудь помочь советом, в какую сторону копать, чтобы хорошо сделать?
-
- почётный участник форума
- Сообщения: 1746
- Зарегистрирован: 18 янв 2009, 12:25
- Имя: Дмитрий
- Страна: Россия
- город/регион: Москва
- Благодарил (а): 6 раз
- Поблагодарили: 143 раза
Отчетность "на коленке".
Я делал vbs, который использовал ODBC для связи с CSV. На выходе был html с динамическим содержимым. Пользователь его просматривал и, если внешний вид удовлетворял, - печатал. PDF - не проблема, вывод в PDF - та же печать. Еще, как вариант для продвинутых и Unix - программа на Python. Язык несложный, есть масса примеров в сети. Для Win есть утилита Python2Exe.
"Умные люди обсуждают идеи, средние - события, а глупые - людей" Л.Н. Толстой
-
- осмотрелся
- Сообщения: 141
- Зарегистрирован: 08 ноя 2010, 14:03
- Имя: Владимир
- Страна: Россия
- город/регион: Новосибирск
- Благодарил (а): 9 раз
- Поблагодарили: 8 раз
Отчетность "на коленке".
Генерация отчётности из csv - моя давняя головная боль, которая периодически усиливается). Отчёты у нас простенькие и внутренние, поэтому мой опыт может быть неприменим для серьёзной отчётности.
Рассматривал множество вариантов, начинал с макроса в excel, который по прошествии времени разросся до трудномодифицируемого состояния. Сейчас остановился на применении demo-версии Dream Report (ограничение времени автоматического сбора данных - 30 минут, максимум 100 тэгов. Но я генерирую отчёты вручную из готового csv, поэтому ограничение функционала сбора данных мне не мешает, тэгов у меня меньше 100. Надпись о том, что применяется демо-версия элегантно закрашивается красным прямоугольником с логотипом). Если нужно генерировать отчёты быстро и относительно презентабельно, советую посмотреть на этот продукт - закрывает требования пунктов 3-5)
Если же найдёте более интересный и гибкий вариант, прошу поделиться опытом.
Рассматривал множество вариантов, начинал с макроса в excel, который по прошествии времени разросся до трудномодифицируемого состояния. Сейчас остановился на применении demo-версии Dream Report (ограничение времени автоматического сбора данных - 30 минут, максимум 100 тэгов. Но я генерирую отчёты вручную из готового csv, поэтому ограничение функционала сбора данных мне не мешает, тэгов у меня меньше 100. Надпись о том, что применяется демо-версия элегантно закрашивается красным прямоугольником с логотипом). Если нужно генерировать отчёты быстро и относительно презентабельно, советую посмотреть на этот продукт - закрывает требования пунктов 3-5)
Если же найдёте более интересный и гибкий вариант, прошу поделиться опытом.
-
- администратор
- Сообщения: 18749
- Зарегистрирован: 17 июн 2008, 16:01
- Имя: Евгений свет Брониславович
- Страна: Россия
- город/регион: Санкт-Петербург
- Благодарил (а): 973 раза
- Поблагодарили: 1852 раза
Отчетность "на коленке".
С набором надстроек на ексель есть одна проблема: что-то случилось с компом, снесли ексель - потеряли всё, никто мог и не догадываться что там спец.надстройки накручены. Отдельный ЕХЕшник есть надежда что хоть забэкапят.
По вопросам работы Форума можно обратиться по этим контактам.
-
- частый гость
- Сообщения: 409
- Зарегистрирован: 20 ноя 2012, 13:45
- Имя: :.О.N.Ф
- Страна: Россия
- Благодарил (а): 3 раза
- Поблагодарили: 7 раз
Отчетность "на коленке".
ну и вариант n+1 - забомбить на шарпе консольное приложеньице, умеете плюсы и VBA - в c# или, недайбог, VB.net разберётесь быстро. Масса приблуд для работы с экселем, рекомендую http://epplus.codeplex.com/ - ставите через NuGet, дальше выглядит почти как экселевский VBA. Умеет даже графики рисовать, стили, все дела... Для работы с либой, что приятно, непосредственно ни офис, ни эксель не требуется.
Для пдфа тоже что-то есть: https://habrahabr.ru/post/112707/ - но лично ничем не пользовался, не могу порекомендовать.
Для пдфа тоже что-то есть: https://habrahabr.ru/post/112707/ - но лично ничем не пользовался, не могу порекомендовать.
Скрипты сохраняются в документе и, внезапно, распространяются с ним же. Достаточно потом найди один экземпляр отчёта столетней давности.
«Сразу видно внимание к каждой мелочи, неиспорченным не осталось ничто».
-
- администратор
- Сообщения: 18749
- Зарегистрирован: 17 июн 2008, 16:01
- Имя: Евгений свет Брониславович
- Страна: Россия
- город/регион: Санкт-Петербург
- Благодарил (а): 973 раза
- Поблагодарили: 1852 раза
Отчетность "на коленке".
Если это разрешено настройками офиса
Отправлено спустя 1 минуту 5 секунд:
И опять же при открытии офис выругается на наличие сторонних скриптов, спросит ЧД - рядовой юзер это легко сочтёт за вирус и выкинет документ совсем.
По вопросам работы Форума можно обратиться по этим контактам.
-
- эксперт
- Сообщения: 3643
- Зарегистрирован: 10 ноя 2009, 04:58
- Имя: Толмачев Михаил Алексеевич
- город/регион: г. Чехов, МО
- Благодарил (а): 8 раз
- Поблагодарили: 286 раз
Отчетность "на коленке".
С csv-файлами умеют работать многие среды и языки программирования. Ну, например, Delphi. Ведь структура этого файла до ужаса простая.
Я бы наверное попробовал выполнить задачу на Javascript - язык очень похож на упрощенный С, для написания программы нужен только Блокнот, для запуска кода - любой браузер. В яваскрипте есть регулярные выражения (для парсинга), открыть файл, сохранить файл - это не проблема.
Я бы наверное попробовал выполнить задачу на Javascript - язык очень похож на упрощенный С, для написания программы нужен только Блокнот, для запуска кода - любой браузер. В яваскрипте есть регулярные выражения (для парсинга), открыть файл, сохранить файл - это не проблема.
-
- частый гость
- Сообщения: 409
- Зарегистрирован: 20 ноя 2012, 13:45
- Имя: :.О.N.Ф
- Страна: Россия
- Благодарил (а): 3 раза
- Поблагодарили: 7 раз
Отчетность "на коленке".
Э, вы взяли документ, в него написали макрос, сохранили, отправили пользователю. Будет странно, если перед написанием макроса вы не включите макросы. Если же оно есть в документе, то при запрете оно не исполняется, но не удаляется.
А юзер, которму сказали открывать именно этот документ для создания именно этого отчёта будет знать, что нужно нажать именно эту кнопочку.
Но в целом да, абстрактные сферические VBA-макросы в экселе - зло.
ps
ох если бы :)
«Сразу видно внимание к каждой мелочи, неиспорченным не осталось ничто».
-
- завсегдатай
- Сообщения: 524
- Зарегистрирован: 05 окт 2009, 11:51
- Имя: Тихомиров Дмитрий Викторович
- Страна: Россия
- город/регион: Москва
- Благодарил (а): 17 раз
- Поблагодарили: 20 раз
Отчетность "на коленке".
Я ну вообще не программист. Питон бы еще подумал, но время, время...
Если вам сказали, что вашу проблему можно решить с помощю регулярных выражений, значит, у вас две проблемы. (с) Бородатый анекдот.
В целом, я могу это тупо формулами в экселе нафигачить - опыт богатый в этом вопросе. Даже в гуглотаблицах. Но хочется хорошего и красивого решения. Видимо, пока Dream Report, а потом приглашенные специалисты по языкам программирования...
-
- администратор
- Сообщения: 18749
- Зарегистрирован: 17 июн 2008, 16:01
- Имя: Евгений свет Брониславович
- Страна: Россия
- город/регион: Санкт-Петербург
- Благодарил (а): 973 раза
- Поблагодарили: 1852 раза
Отчетность "на коленке".
Как автор этих макросов - конечно не забуду. Я не про это. Просто в задаче сказано что должно быть понятно даже дворнику - и вот тут могут быть нюансы. :) Например документ могут пересохранить и потерять все макросы, может и антивирус их повыкусывать.
Да всякие юзеры бывают....
По вопросам работы Форума можно обратиться по этим контактам.
-
- здесь недавно
- Сообщения: 39
- Зарегистрирован: 16 окт 2015, 12:23
- Имя: Вадим К
- Страна: Россия
- город/регион: Saint-Petersburg
- Благодарил (а): 4 раза
- Поблагодарили: 6 раз
Отчетность "на коленке".
В общем-то задача стандартная. Для АРМ'ов использую связку SCADA + самописная программа на Delphi, которая закрывает вопросы с графической и табличной отчетностью, выбором заданий из меню (типовые задания в меню добавляют сами пользователи). Освоить какой-либо язык программирования не так сложно (мне сложнее было освоить программирование в STL). Беда только в том, что эти среды разработки стоят денег, а писать для заказчика на пиратском как-то не комильфо...
Оформляйте цитаты корректно, пожалуйста. Админ.
Оформляйте цитаты корректно, пожалуйста. Админ.
-
- частый гость
- Сообщения: 404
- Зарегистрирован: 25 фев 2016, 12:18
- Имя: Жидков Игорь Алексеевич
- Страна: РФ
- город/регион: Королев/Фрязино
- Благодарил (а): 4 раза
- Поблагодарили: 12 раз
Отчетность "на коленке".
Да если вы понимаете что вам вообще нужно в отчетах, то в QT на С++ можно парсить .csv файлы очень быстро и просто. Больше проблема в том, что печать из c++ это та еще беда (конечно если нет лишних пары месяцев). Простые листы А4 с жестким расположением элементов довольно просто печатать, если нужен интерактив и фичи печати как в Ворде то это не так просто...
Конечно QT не бесплатная для коммерческого пользования, но для "себя" можно сделать.
Компилятор - лучший друг человека!
-
- эксперт
- Сообщения: 1146
- Зарегистрирован: 25 июл 2008, 10:06
- Имя: Леонид
- Страна: РФ
- Благодарил (а): 49 раз
- Поблагодарили: 134 раза
Отчетность "на коленке".
Одно время мы использовали для отчетов Crystal Reports.
Я лично этим не занимался, поэтому о соответствии функционала изложенным требованиям сказать не могу.
Я лично этим не занимался, поэтому о соответствии функционала изложенным требованиям сказать не могу.
Хард - это то, что можно швырнуть об стенку, а софт - это то, что можно лишь обматерить.
-
- завсегдатай
- Сообщения: 524
- Зарегистрирован: 05 окт 2009, 11:51
- Имя: Тихомиров Дмитрий Викторович
- Страна: Россия
- город/регион: Москва
- Благодарил (а): 17 раз
- Поблагодарили: 20 раз
Отчетность "на коленке".
В целом, всё свелось к "или покупай, или строй велосипед из веточек и подручных материалов". :)
Кристал и иже с ними (Когда-то общался с продукцией http://www.perpetuumsoft.com/ , но как потребитель конечного результата. Впечатления остались хорошие.) требуют встраивания в некую оболочку, которую ты должен сам написать на одном из современных языков и которая будет подпихивать в генератор имя шаблона и формировать выборку данных. Эксель - уж очень коряво, зато работает и просто как чугунная сковородка. Остальное - за деньги.
Не удержусь, покамментю :
Кристал и иже с ними (Когда-то общался с продукцией http://www.perpetuumsoft.com/ , но как потребитель конечного результата. Впечатления остались хорошие.) требуют встраивания в некую оболочку, которую ты должен сам написать на одном из современных языков и которая будет подпихивать в генератор имя шаблона и формировать выборку данных. Эксель - уж очень коряво, зато работает и просто как чугунная сковородка. Остальное - за деньги.
Не удержусь, покамментю :
IDE, конпиляторов и пр. много и бесплатного и под любые системы. И фришные генераторы отчетов для встраивания в пользовательские программы тоже имеются.
Та еще беда - это быстро освоить c++ и кьют.
Да. Но Сименс и тут, согласно вашей подписи, "приложил тщательнейшее внимание к каждой мелочи"!
-
- частый гость
- Сообщения: 404
- Зарегистрирован: 25 фев 2016, 12:18
- Имя: Жидков Игорь Алексеевич
- Страна: РФ
- город/регион: Королев/Фрязино
- Благодарил (а): 4 раза
- Поблагодарили: 12 раз
Отчетность "на коленке".
Ну а чего удивительного? Универсальная вешь )
А есть требование быстро? Если денег много найди того кто знает Qt/c++
Много народу "колымит" с Qt ( даже тут есть, не говоря уже о более специфичных форумах, где программисты тусуют), если цену норм предложите могут что угодно сделать. На А4 лист ваш логотип, и графики даже я смогу за день вывести )
Компилятор - лучший друг человека!
-
- частый гость
- Сообщения: 409
- Зарегистрирован: 20 ноя 2012, 13:45
- Имя: :.О.N.Ф
- Страна: Россия
- Благодарил (а): 3 раза
- Поблагодарили: 7 раз
Отчетность "на коленке".
ауч, тут STL'ем все называют мэковский 61131 ST в сименсовой вариации? А я думал про сиплюсплюсную standard library нуок, тогда дело усложняется)
Всё давно есть в бесплатных версиях. Если совесть давит, то можно приложить какую-нибудь опенсорцную лицензию - в данном случае это не офигеть как принципиально держать исходники в секрете.
точно, и к 100 килобайтному экзешнику прикладывать 5гиговый дистр кьюти
«Сразу видно внимание к каждой мелочи, неиспорченным не осталось ничто».
-
- завсегдатай
- Сообщения: 524
- Зарегистрирован: 05 окт 2009, 11:51
- Имя: Тихомиров Дмитрий Викторович
- Страна: Россия
- город/регион: Москва
- Благодарил (а): 17 раз
- Поблагодарили: 20 раз
Отчетность "на коленке".
Можете звать меня ретроградом и отщепенцем!
И толстую пачку денег!
Вообще, с другой стороны, если разработать свой такой генератор отчетов и поставить ценник в 5к рублей, вы бы купили?
-
- частый гость
- Сообщения: 409
- Зарегистрирован: 20 ноя 2012, 13:45
- Имя: :.О.N.Ф
- Страна: Россия
- Благодарил (а): 3 раза
- Поблагодарили: 7 раз
Отчетность "на коленке".
Лично я бы при необходимости свой написал, с поэтессами и преферансом) потому что времени на это уйдёт максимум неделя с перекурами на основную работу, а в чужом самописном непроверенном решении огрести проблем можно о-го-го, и никаких гарантий, что даже тривиальную багу автор быстро починит. А так обычно везде, где я видел, отчёты генерятся из скады + excel vba, и особых страданий никто не испытывает.
тут штука в чём, у вас задача - генерить непонятно что конкретно из, почему-то, csv. Удивительное стечение обстоятельств и неопределённости. Большой оптимизм - надеяться, что у кого-то возникнет необходимость решить такую же задачу, и этот кто-то вообще будет знать про ваше решение.
тут штука в чём, у вас задача - генерить непонятно что конкретно из, почему-то, csv. Удивительное стечение обстоятельств и неопределённости. Большой оптимизм - надеяться, что у кого-то возникнет необходимость решить такую же задачу, и этот кто-то вообще будет знать про ваше решение.
«Сразу видно внимание к каждой мелочи, неиспорченным не осталось ничто».
-
- частый гость
- Сообщения: 404
- Зарегистрирован: 25 фев 2016, 12:18
- Имя: Жидков Игорь Алексеевич
- Страна: РФ
- город/регион: Королев/Фрязино
- Благодарил (а): 4 раза
- Поблагодарили: 12 раз
Отчетность "на коленке".
В архиве VCRedistr86 + qtdll-ки+простенький ewe весят 16 Мб.... (без архива 70Мб) windeployqt подготавливает только нужные dll
да и сам qt+msvc весит всего 903 Мб
Компилятор - лучший друг человека!
-
- частый гость
- Сообщения: 409
- Зарегистрирован: 20 ноя 2012, 13:45
- Имя: :.О.N.Ф
- Страна: Россия
- Благодарил (а): 3 раза
- Поблагодарили: 7 раз