转换docx并上传到sql表

时间:2009-08-17 04:48:47

标签: sql-server ms-word docx

我有一个docx格式的word文档,其中包含重复格式模式的数据。

我想从重复集中获取每个数据并上传到SQL表中的一行。

此处的数据样本:

Question No : 1
How is LINQ to SQL different from Entities?

A. Answer 1
B. Answer 1
C. Answer 1
D. Answer 1

Answer : D
Explanations : 
Some explanation.

Question No : 2
How is NVARCHAR different from VARCHAR

A. Answer 1
B. Answer 1
C. Answer 1
D. Answer 1

Answer : D
Explanations : 
Some explanation.

我可以想到几种方法:
- 使用Office API将文档作为docx阅读 - 将文档保存为Word中的XML并解析XML [转换后的XML文档似乎没有结构/架构]
- 将文档保存为Word中的HTML并解析HTML [DOM结构不完整]

你在上面提到哪些以及为什么?是否有任何工具可以帮助转换文档并上传到SQL表或访问数据库?

谢谢!

2 个答案:

答案 0 :(得分:3)

DOCX只是XML文件的ZIP目录树。使用WinZip或7-Zip将其解压缩到一组子目录。将这些XML文件上载到SQL Server,添加其文件名和文件夹路径。 使用SQL Server XML方法(.node等)将它们粉碎成您想要的关系形式。

请注意,它们具有XML模式和结构。

答案 1 :(得分:0)

如果您不经常处理这些文件,那么我会说将其保存为其他格式(更容易通过SQL处理) - 甚至可能是纯文本格式。 如果要定期执行此过程(将此文件导入到DB) - 请进行本机DOCX处理,而不将其转换为中间格式。 快速Google搜索显示,有些组件可以将docx格式读入数据库(例如http://www.brothersoft.com/code-library-for-.net-(sql-server-msde)-22050.html