为 MS-Office 用户报告图表和数据

发布于 2024-07-22 06:55:52 字数 690 浏览 1 评论 0原文

我们有大量数据和一些代表一项逻辑项目的图表。 图表和数据存储在各种文件中。 因此,大多数用户可以轻松访问和重复使用其应用程序中的信息。

然而,这并不是存储数据的好方法。 除其他原因外,图表属于某些数据,图表和数据具有一些未反映在文件系统中的元信息,存在大量文件等。

理想情况下,我们想要

  1. 一个大“文件”可以存储所有 信息(文本、数据和图表)

  2. “文件”是人类可读的, 便携且可通过 非技术用户

  3. 允许典型的办公应用程序 像 MS Word 或 MS Excel 一样提取 轻松实现文本、数据和图表。

  4. 轻量级、简单的解决方案。 快的 脏就足够了。 不多 用户。

我很高兴使用 Python 等脚本语言来生成“文件”、第三方工具(最好像啤酒一样免费)以及您在典型的以 Windows 为中心的办公计算机上找到的所有内容。

我们目前考虑的一些想法:

  • 使用 VB 或 pywin32 编写 MS Word 或 Excel 脚本

  • 创建 html 并将其发布到 RESTful Web 服务器上

    >

您能扩展一下上面的想法吗? 你还有其他建议吗? 我们应该考虑什么?

We have lots of data and some charts repesenting one logical item. Charts and data is stored in various files. As a result, most users can easily access and re-use the information in their applications.

However, this not exactly a good way of storing data. Amongst other reasons, charts belong to some data, the charts and data have some meta-information that is not reflected in the file system, there are a lot of files, etc.

Ideally, we want

  1. one big "file" that can store all
    information (text, data and charts)

  2. the "file" is human readable,
    portable and accessible by
    non-technical users

  3. allows typical office applications
    like MS Word or MS Excel to extract
    text, data and charts easily.

  4. light-weight, easy solution. Quick
    and dirty is sufficient. Not many
    users.

I am happy to use some scripting language like Python to generate the "file", third-party tools (ideally free as in beer), and everything that you find on a typical Windows-centric office computer.

Some ideas that we currently ponder:

  • using VB or pywin32 to script MS Word or Excel

  • creating html and publish it on a RESTful web server

Could you expand on the ideas above? Do you have any other ideas? What should we consider?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

人生戏 2024-07-29 06:55:52

我只能同意 Reef 提出的一般概念:

  • 您几乎肯定会更喜欢数据库中的数据,而不是单个大文件中的数据

  • 您不必担心用户无法直接操作数据,因为正如 Reef 提到的那样,它只会出错。 你会惊讶于它会变得多么丑陋

关于 MS Office 集成工具的使用,我不同意 Reef 的观点。 您可以非常轻松地创建可从 MS Office 套件访问的 ActiveX 服务器(如果您愿意,可以使用 Python)。 只要您拥有允许某种文件共享的可靠基础设施,您就可以使用该共享区域来保存代码。 我想 Reef 所说的混乱主要是关于保持用户的提取/导入代码版本同步。 如果您不使用某种共享存储库(一个简单的共享文件夹),或者您的基础架构经常出现故障,导致共享文件夹不可用,您将感到非常痛苦。 请注意,如果您没有适当的工具但要与许多用户打交道,那么也会有些痛苦:ActiveX 服务器最好在每台计算机上注册。

所以..我刚才说MS Office 集成是非常可行的。 但这是否是最好的事情是另一回事。 我坚信,如果您建立一个为用户处理数据的网站,您将为用户提供更好的服务。 然而,这种工具几乎肯定会成为一个“正在进行的项目”。 通常,即使作为一个“正在进行的项目”,用户节省的时间仍然值得。 但有时,从战略上讲,您希望为用户提供较差的体验以控制项目成本。 在这种情况下,我提到的 ActiveX 服务器可能就是您想要的。

I can only agree with Reef on the general concepts he presented:

  • You will almost certainly prefer the data in a database than in a single large file

  • You should not worry that the data is not directly manipulated by users because as Reef mentioned, it can only go wrong. And you would be suprised at how ugly it can get

Concerning the usage of MS Office integration tools I disagree with Reef. You can quite easily create an ActiveX Server (in Python if you like) that is accessible from the MS Office suite. As long as you have a solid infrastructure that allows some sort of file share, you could use that shared area to keep your code. I guess the mess Reef was talking about mostly is about keeping users' versions of your extract/import code in sync. If you do not use some sort of shared repository (a simple shared folder) or if your infrastructure fails you often so that the shared folder becomes unavailable you will be in great pain. Note what is also somewhat painful if you do not have the appropriate tools but deal with many users: The ActiveX Server is best registered on each machine.

So.. I just said MS Office integration is very doable. But whether it is the best thing to do is a different matter. I strongly believe you will serve your users better if you build a web-site that handles their data for them. This sort of tool however almost certainly becomes an "ongoing project". Often, even as an "ongoing project", the time saved by your users could still make it worth it. But sometimes, strategically, you want to give your users a poorer experience to control project costs. In that case the ActiveX Server I mentioned could be what you want.

温柔一刀 2024-07-29 06:55:52

您应该使用数据库,而不是使用一个大文件。 是的,如果您愿意,您可以在数据库中存储各种类型的文件,例如 gif。

该文件无法被非技术用户读取或访问,但这很好。

该数据库将有一个网站,非技术用户可以使用该网站插入、更新和获取数据。 他们将能够将其显示在页面上或将其导出为 csv(甚至 xls - 这并不难,我见过一些 csv->xls 转换器)。 您可以查看一些开放标准文档格式,我认为用它输出数据应该很容易。 不要尝试以“doc”格式输出(但您可以尝试“docx”)。 您应该能够轻松地教用户如何将数据导出到 CSV 并将其上传到网站,或者如果他们愿意,他们也可以使用 Web 界面插入数据。

如果您允许您的用户弄乱原始数据,他们就会破坏它(我已经尝试过,您不知道那些人如何做到这一点)。 防止这种情况的唯一方法是制作一个 Web 表单,只允许他们执行您确切知道他们应该如何执行的某些操作。

数据库+网页的方案是不错的方案。 使用 VB 或 pywin32 编写 MSOffice 脚本会给您带来我无法想象的巨大麻烦。

您可以使用 gnuplot 或其他一些图形库来绘制(实现起来非常简单,它为您完成了所有艰苦的工作)。

恐怕“快速”且肮脏的解决方案很诱人,但我只能说一件事:它不会很快。 几周后,您会发现使用 MSOffice 脚本进行修改是混乱、有缺陷且不可靠的,非技术人员会讨厌它,并说在其他公司他们曾经有一个简单的 Web 面板来做到这一点。 然后你会发现你将无法询问脚本,因为现在每个人都使用网络界面,因为它们很容易实现和维护。

这不是一个小项目,而是一个中等规模的项目,您在编写时需要记住这一点。 完成并测试它需要一些时间,并且您将不得不添加新功能,因为非技术人员将开始使用它。 我认识一些热情的 php 青少年,他们能够在一周内写出这个面板,但据我了解,您有一些更好的资源,所以我希望您能提供一个真正可靠、模块化、可扩展的解决方案,具有良好的可用性和快乐的用户。< br>
祝你好运!

Instead of using one big file, You should use a database. Yes, You can store various types of files like gifs in the database if You like to.

The file would not be human readable or accessible by non-technical users, but this is good.

The database would have a website that Your non-technical users would use to insert, update and get data from. They would be able to display it on the page or export it to csv (or even xls - it's not that hard, I've seen some csv->xls converters). You could look into some open standard document formats, I think it should be quite easy to output data with in it. Do not try to output in "doc" format (but You could try "docx"). You should be able to easily teach the users how to export their data to a CSV and upload it to the site, or they could use the web interface to insert the data if they like to.

If You will allow Your users to mess with the raw data, they will break it (i have tried that, You have no idea how those guys could do that). The only way to prevent it is to make a web form that only allows them to perform certain actions that You exactly know how that they should suppose to perform.

The database + web page solution is the good one. Using VB or pywin32 to script MSOffice will get You in so much trouble I cannot even imagine.

You could use gnuplot or some other graphics library to draw (pretty straightforward to implement, it does all the hard work for You).

I am afraid that the "quick" and dirty solution is tempting, but I only can say one thing: it will not be quick. In a few weeks You will find that hacking around with MSOffice scripting is messy, buggy and unreliable and the non-technical guys will hate it and say that in other companies they used to have a simple web panel that did that. Then You will find that You will not be able to ask about the scripting because everyone uses the web interfaces nowadays, as they are quite easy to implement and maintain.

This is not a small project, it's a medium sized one, You need to remember this while writing it. It will take some time to do it and test it and You will have to add new features as the non-technical guys will start using it. I knew some passionate php teenagers who would be able to write this panel in a week, but as I understand You have some better resources so I hope You will come with a really reliable, modular, extensible solution with good usability and happy users.
Good luck!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文