Отчеты о графиках и данных для пользователей MS-Office - PullRequest
2 голосов
/ 27 мая 2009

У нас много данных и несколько диаграмм, представляющих один логический элемент. Графики и данные хранятся в различных файлах. В результате большинство пользователей могут легко получить доступ и повторно использовать информацию в своих приложениях.

Однако это не совсем хороший способ хранения данных. Среди прочих причин, диаграммы принадлежат некоторым данным, диаграммы и данные содержат метаинформацию, которая не отражена в файловой системе, имеется много файлов и т. Д.

В идеале мы хотим

  1. один большой "файл", который может хранить все информация (текст, данные и диаграммы)

  2. «файл» читается человеком, портативный и доступный нетехнические пользователи

  3. разрешает типичные офисные приложения как MS Word или MS Excel для извлечения текст, данные и графики легко.

  4. легкое, простое решение. Быстрый и грязно достаточно. Не много пользователи.

Я счастлив использовать некоторый язык сценариев, такой как Python, для генерации «файла», сторонних инструментов (в идеале бесплатных, как в пиве) и всего, что вы найдете на типичном офисном компьютере с центральным Windows.

Некоторые идеи, которые мы сейчас обдумываем:

  • с использованием VB или pywin32 для написания MS Word или Excel

  • создание HTML и публикация его на веб-сервере RESTful

Не могли бы вы развить идеи выше? У тебя есть другие идеи? Что мы должны рассмотреть?

Ответы [ 2 ]

2 голосов
/ 28 мая 2009

Я могу согласиться с Рифом только в отношении общих представленных им концепций:

  • Вы почти наверняка предпочтете данные в базе данных, чем в одном большом файле

  • Вам не следует беспокоиться о том, что пользователи не манипулируют данными напрямую, потому что, как упоминал Reef, они могут только ошибиться. И вы были бы удивлены тем, насколько безобразным он может стать

Что касается использования инструментов интеграции MS Office, я не согласен с Reef. Вы можете довольно легко создать сервер ActiveX (на Python, если хотите), доступный из пакета MS Office. Пока у вас есть надежная инфраструктура, которая позволяет какой-то общий файловый ресурс, вы можете использовать эту общую область для хранения своего кода. Я предполагаю, что беспорядок, о котором говорил Риф, в основном заключается в синхронизации пользовательских версий вашего кода извлечения / импорта. Если вы не используете какой-либо общий репозиторий (простая общая папка) или если ваша инфраструктура часто выходит из строя, так что общая папка становится недоступной, вам будет очень больно. Обратите внимание на то, что несколько болезненно, если у вас нет соответствующих инструментов, но вы имеете дело со многими пользователями: ActiveX Server лучше всего регистрировать на каждой машине.

Итак ... Я только что сказал, что интеграция с MS Office очень выполнима. Но лучше ли это делать, это другой вопрос. Я твердо верю, что вы будете лучше обслуживать своих пользователей, если создадите веб-сайт, который обрабатывает их данные для них. Однако такого рода инструмент почти наверняка станет «текущим проектом». Часто, даже будучи «текущим проектом», время, сэкономленное вашими пользователями, все же может стоить того. Но иногда, стратегически, вы хотите дать своим пользователям более скудный опыт управления затратами на проект. В этом случае сервер ActiveX, о котором я упоминал, может быть тем, что вы хотите.

1 голос
/ 28 мая 2009

Вместо использования одного большого файла, вы должны использовать базу данных. Да, вы можете хранить различные типы файлов, такие как GIF-файлы, в базе данных, если хотите.

Файл не может быть доступен для чтения или недоступен нетехническим пользователям, но это хорошо.

База данных будет иметь веб-сайт, который будут использоваться вашими нетехническими пользователями для вставки, обновления и получения данных. Они смогут отобразить его на странице или экспортировать в csv (или даже в xls - это не так сложно, я видел некоторые конвертеры в csv-> xls). Вы могли бы взглянуть на некоторые открытые стандартные форматы документов, я думаю, что это должно быть довольно легко выводить данные в нем. Не пытайтесь выводить в формате «doc» (но вы можете попробовать «docx»). Вы должны быть в состоянии легко научить пользователей, как экспортировать свои данные в CSV и загрузить их на сайт, или они могут использовать веб-интерфейс для вставки данных, если они этого хотят.

Если вы позволите своим пользователям связываться с необработанными данными, они сломают их (я пробовал, вы не представляете, как эти ребята могли это сделать). Единственный способ предотвратить это - создать веб-форму, которая позволяет им выполнять только те действия, которые Вы точно знаете, как они должны выполнять.

Решение для базы данных + веб-страницы - хорошее. Использование VB или pywin32 для написания сценариев MSOffice доставит Вам столько хлопот, что я даже представить себе не могу.

Вы можете использовать gnuplot или другую графическую библиотеку для рисования (довольно просто реализовать, она делает всю тяжелую работу за Вас).

Боюсь, что «быстрое» и грязное решение заманчиво, но я могу сказать только одно: оно не будет быстрым. Через несколько недель вы обнаружите, что хакерство с использованием сценариев MSOffice является грязным, ошибочным и ненадежным, и нетехнические парни будут ненавидеть это и говорить, что в других компаниях у них была простая веб-панель, которая это делала. Тогда вы обнаружите, что не сможете спрашивать о сценариях, потому что в настоящее время все используют веб-интерфейсы, поскольку их довольно легко внедрить и поддерживать.

Это не маленький проект, это проект среднего размера, Вы должны помнить это, когда пишете его. Это займет некоторое время, чтобы сделать это и протестировать, и вам нужно будет добавить новые функции, поскольку нетехнические парни начнут его использовать. Я знал некоторых увлеченных подростков из php, которые могли бы написать эту панель через неделю, но, насколько я понимаю, у вас есть несколько лучших ресурсов, поэтому я надеюсь, что вы получите действительно надежное, модульное, расширяемое решение с хорошим юзабилити и счастливыми пользователями.
Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...