MVC中把Word文档导入到SQL需要对文本的处理

在MVC中把Word文档导入到数据库,首先我们需要理解她的存储过程,在C#中Word文档不能直接导入到数据库,因而我们需借用第三的工具类。存储过程:先把Word文档存储到临时文件夹再把Word文档转换成html文件然后存储在页面的临时文件夹,经过处理转换后会生成下面的几个文件(图片,html、style)因为后续需要对html格式的文件进行处理最终导人到数据库

在MVC中处理流程如下:
1、 把Word文档存入临时文件夹。【判断导入的文件类型是否正确,获取文件扩展名,自定义文件夹,把Word文档保存在指定的文件夹(首先需要进行判定路径是否存在,如果存在就拼接路径,不存在就创建路径再拼接路径)】
MVC中把Word文档导入到SQL需要对文本的处理
上面的代码的意思是 :判断文件是否存在。“!”的意思是非,也就是假设
:不存在的情况下那就创建一个文件夹,Directory的意思在指定的路径创建文件夹,而Exists的意思是引用现有的目录,如果有这个目录,,那就是true,否则为false。
MVC中把Word文档导入到SQL需要对文本的处理
2、 将Word文档转化html,保存到指定的文件夹(设置文件转化为Html文件名称,后缀替换为html,存放它我们还需要一个路径,为了数据不重复错乱,我们需要给它拼接一个路径:我们还需要一个工具Spire.Doc for word组件,关于Sprie.Doc for word这个组件引用一下教学文档解析。(详情看截图)
MVC中把Word文档导入到SQL需要对文本的处理
在把文件转换成html文件后,我们需要对它进一步处理,读取文件中的内容ReadAllText读取文件中所有的字符串,将html中的转换来的p、pre标签替换为自定义属性的标签,为什么要这样做呢?因为经过这样处理和p标签统一了,也就不容易出错。对于如何在html中提取p便签,可用正则表达式便对字符进行匹配。替换。
MVC中把Word文档导入到SQL需要对文本的处理
MatchCollection以迭代的方式将正则表达式模式应用于输入字符串所找到的匹配的集合
MVC中把Word文档导入到SQL需要对文本的处理
获取p标签的文字内容信息,for循环加foreach循环提取p标签的文字和图片内容
MVC中把Word文档导入到SQL需要对文本的处理