-1

有人希望我实现服务器端数据提取服务,以从 Micorsoft Excel 2010 电子表格 (xlsx) 中提取数据。电子表格必须在正确的位置包含数据才能进行提取。使用电子表格作为数据收集是否有更好的选择?我担心用户可能会生成一个电子表格,即使显示的电子表格对人类来说是可以理解的,也会导致解析/提取方法失败。例如,用户需要输入许多项目,并且每个项目后面都会有几个详细信息行。我的程序需要识别每个项目之间的边界,然后收集它后面的细节行。如果提取失败,用户将需要线索来帮助他们解决问题,然后再次重新提交 xlsx 文件。

有没有更好的办法 ?有没有像 Excel 电子表格一样便携但具有可以轻松提取的结构化数据的东西?
或者也许可以使用 Excel 电子表格将数据准备为结构化数据(例如 JSON 表示),然后将其存储为开放 xml 包的一部分?

4

3 回答 3

1

我会使用 Access DB,它非常便携,但允许您对结构进行密码保护或只允许通过表单插入。

此外,可以通过 Jet 引擎轻松读取访问数据库,因此在 C# 中自动提取数据非常简单。

于 2012-06-15T10:05:00.200 回答
1

您可以通过使用命名范围并将在数据输入上运行的验证代码添加到电子表格来改进使用 Excel 的数据收集。验证代码还可以将元数据标签添加到工作簿。然后您的提取程序可以使用命名范围(和元数据)来查找数据。

于 2012-06-15T11:53:59.743 回答
1

如果我理解你的问题是正确的 - 你想在 OpenXml Excel 文件中存储一些描述你的数据的自定义 XML。我认为您可以为此使用自定义 XML 部件

于 2012-06-17T20:19:57.823 回答