c#编程实现word 文档如何导入SQL Server数据库表中

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
简介:
+关注继续查看
操作WORD配置说明
  引入:Word的对象库文件“MSWORD.OLB”(word 2000为MSWORD9.OLB)
  1.运行Dcomcnfg.exe
  2.组件服务――计算机――我的电脑――DCOM配置――找到microsoft word 文档
  3.点击属性
  4.选择“安全性”
  5.选定“使用自定义访问权限”和“使用自定义启动权限”
  6.分别编辑权限,添加Everyone(ASPNET,VS Developers,Debugger User)
  7.选择“身份标识”,在选定“交互式用户” 即可
  8.在Web.config里加 identity impersonate="true"/
  C#:
  ASP.NET操作Word文档一直是一个大家比较关心的话题,其实在ASP.NET里操作Word文档一点也不难,大家只需按本文提示,就能轻轻松松操作Word文档!
  一、准备工作
  首先请确认服务端已经安装了Office Word(以下将以Office XP为例),操作系统为win2000或XP,并且已配置好.NET的运行环境及安装VS.NET C#开发环境后,我们就可以打开VS.NET,并新建一个Visual C#项目ASP.NET Web应用程序,位置为“”。(如图一)
  二、引用Word对象库文件
  要操作Word,我们就需要Word的对象库文件“MSWORD.OLB”(word 2000为MSWORD9.OLB),通常安装了Office Word后,你就可以在office安装目录的Office10文件夹下面找到这个文件,当我们将这个文件引入到项目后,我们就可以在源码中使用各种操作函数来操作Word。具体做法是打开菜单栏中的项目添加引用浏览,在打开的“选择组件”对话框中找到MSWORD.OLB后按确定即可引入此对象库文件,vs.net将会自动将库文件转化为DLL组件,这样我们只要在源码中创建该组件对象即可达到操作Word的目的!
  三、Webform1.aspx.cs代码
  完成添加引用后,MSWORD.OLB已经转化为相关DLL文件并放置于项目的BIN目录下了,这样我们只需在源码中创建该对象,并使用word库文件内置的操作函数即可轻松实现操作Word,Webform1.aspx.cs源码请参见
  五、web.config设置
  web.config文件还需添加一句 identity impersonate="true"/以启用模拟身份,因为默认ASPNET这个用户是没有权限访问Word.ApplicationClass(),当启用模拟身份后所有页面将会使用匿名Internet用户帐户(IUSR_machinename)这个用户名的权限执行,这样我们就能成功访问Word.ApplicationClass()并在ASP.NET中操作Word!
//传文档所在路径 返回文档内容
public string Doc2Text(string docFileName)
{
//实例化COM
Microsoft.Office.Interop.Word.ApplicationClass wordApp = new Microsoft.Office.Interop.Word.ApplicationClass();
object fileobj = docFileName;
object nullobj = System.Reflection.Missing.Value;
//打开指定文件(不同版本的COM参数个数有差异,一般而言除第一个外都用nullobj就行了)
Microsoft.Office.Interop.Word.Document doc = wordApp.Documents.Open(ref fileobj, ref nullobj, ref nullobj,
ref nullobj, ref nullobj, ref nullobj,
ref nullobj, ref nullobj, ref nullobj,
ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj
);
//取得doc文件中的文本
string outText = doc.Content.Text;
//关闭文件
doc.Close(ref nullobj, ref nullobj, ref nullobj);
//关闭COM
wordApp.Quit(ref nullobj, ref nullobj, ref nullobj);
//返回
return outText;
}
  当然 在读取的时候会有损坏的文件 和被加密的文件等问题 总之C#和office的兼容性不太好
  别忘了要引用word的dll
  引用文件夹 右键添加引用 在组件里找Microsoft.Office.Interop.Word
  读出了word文档再把它写入sql server数据库就可以了   


最新内容请见作者的GitHub页:http://qaseven.github.io/
   
相关实践学习
使用交互方式创建数据表
本次实验主要介绍如何在RDS-SQLServer数据库中使用交互方式创建数据表。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
目录
相关文章
|
3月前
|
SQL 数据库
使用事务码 SAT 比较传统的 SELECT SQL 语句和 OPEN / FETCH CURSOR 分块读取 ABAP 数据库表两种方式的性能差异试读版
使用事务码 SAT 比较传统的 SELECT SQL 语句和 OPEN / FETCH CURSOR 分块读取 ABAP 数据库表两种方式的性能差异试读版
47 0
|
3月前
|
SQL 关系型数据库 MySQL
分享一份全国行政区划sql数据库表
分享一份全国行政区划sql数据库表
|
6月前
|
SQL 存储 Oracle
通过sql做数据透视表,数据库表行列转换(pivot和Unpivot用法)(一)
在mssql中大家都知道可以使用pivot来统计数据,实现像excel的透视表功能 一、MSsqlserver中我们通常的用法
217 0
|
8月前
|
SQL 数据库
使用事务码 SAT 比较传统的 SELECT SQL 语句和 OPEN / FETCH CURSOR 分块读取 ABAP 数据库表两种方式的性能差异试读版
使用事务码 SAT 比较传统的 SELECT SQL 语句和 OPEN / FETCH CURSOR 分块读取 ABAP 数据库表两种方式的性能差异试读版
|
10月前
|
SQL 数据库
达梦数据库表SQL语句
达梦数据库表SQL语句
214 0
|
SQL 数据库
使用 OPEN SQL 语句读取数据库表数据的一个补充练习
使用 OPEN SQL 语句读取数据库表数据的一个补充练习
106 0
使用 OPEN SQL 语句读取数据库表数据的一个补充练习
|
SQL 存储 数据库
面试官提问:如何通过sql方式将数据库表行转列?
在刚进入 IT 行业的第一年换工作的时候,至今让我印象最深刻的有一个这样的面试题:如何通过 SQL 方式将数据库的行转列? 当时的面试官让我现场写 SQL,信心满满的我,我觉得我可以做出来,然后10分支、20分钟、30分钟...过去了,很遗憾一点动静都没有。 最后的我不得不服,结局相信大家也能猜到是啥了!💔
面试官提问:如何通过sql方式将数据库表行转列?
|
SQL Oracle 关系型数据库
Oracle 数据库SQL语句查询oracle数据库表主键,查看oracle指定表的表结构实例演示
Oracle 数据库SQL语句查询oracle数据库表主键,查看oracle指定表的表结构实例演示
185 0
Oracle 数据库SQL语句查询oracle数据库表主键,查看oracle指定表的表结构实例演示
|
SQL Java 数据库
可将数据库表字段转换为Java代码驼峰字段SQL的实现
经常要将数据库表字段映射到实体对象,除了逆向工程,还可以通过SQL的方式将表字段列转换为Java代码驼峰字段。
1127 0
|
SQL 数据库
SQL去除数据库表中tab、空格、回车符等特殊字符的解决方法
原文:SQL去除数据库表中tab、空格、回车符等特殊字符的解决方法 按照ASCII码, SELECT char(64) 例如64 对应 @,则 SELECT REPLACE('abc@qq.
3429 0
推荐文章
更多