用户登录
用户注册

分享至

数据库保存word文档 将word文档保存到数据库中

  • 作者: So_简单
  • 来源: 51数据库
  • 2020-04-21

using System;

using System.Collections.Generic;

using System.Text;

using System.Data;

using System.Data.SqlClient;

using System.IO;

namespace ConsoleApplication2

{

class Program

{

//把文件写入数据库

public void add(string pathName)

{

FileStream fs = new FileStream(pathName, FileMode.Open, FileAccess.Read);

byte[] buffByte = new byte[fs.Length];

fs.Read(buffByte, 0, (int)fs.Length);

fs.Close();

fs = null;

SqlConnection conn = new SqlConnection(@"data source=test;uid=sa;pwd=test;database=test");

string sqlstr = @"Insert into table1(doc) values(@img)";

SqlCommand cmd = new SqlCommand();

cmd.CommandType = CommandType.Text;

cmd.CommandText = sqlstr;

cmd.Connection = conn;

cmd.Parameters.Add("@img", System.Data.SqlDbType.Image);

cmd.Parameters[0].Value = buffByte;

conn.Open();

cmd.ExecuteNonQuery();

conn.Close();

buffByte = null;

}

//从数据库读出文件

public void save(string fileName)

{

SqlConnection conn = new SqlConnection(@"data source=test;uid=sa;pwd=test;database=test");

conn.Open();

SqlCommand cmd = new SqlCommand("select top 1 doc from table1", conn);

SqlDataReader reader = cmd.ExecuteReader();

byte[] buffByte = null;

if (reader.Read())

{

buffByte = (byte[])reader[0];

}

reader.Close();

conn.Close();

FileStream fs;

FileInfo fi = new FileInfo(fileName);

fs = fi.OpenWrite();

fs.Write(buffByte, 0, buffByte.Length);

fs.Close();

}

static void Main(string[] args)

{

Program p = new Program();

p.add(@"C:\test.doc");

p.save(@"C:\test1.doc");

}

}

}

有谁知道怎么把word中的正文内容,保存到数据库以便做文件检索?

这样:

1. 在控件页面中添加SOAOfficeCtrl的BeforeDocumentSaved事件处理和一个隐藏的input,注意要保持这个input的name属性在当前页面中是唯一的:

<input name="FileTxt" type="hidden">

<SCRIPT language="javascript" event="BeforeDocumentSaved(Document, Location, Cancel)" for="SOAOfficeCtrl">

document.getElementsByName("FileTxt")[0].value = document.getElementById("SOAOfficeCtrl").DocText;

</SCRIPT>

2. 在处理文档保存的页面用RequestFormField 方法取出 input 的值:

SOAOfficeX.SaveDocObj SOAObj = new ……

strText = SOAObj.RequestFormField("FileTxt"); // 这样就可以取出 input 的值

sql数据库可以存储word文件吗

对于msSQL,小格式文件可以转为二进制当成文本存储.

但word一般都不小,所以一般情况下都直接保存文件,然后在数据库中保存地址.对文件的操作由程序进行.

即使oracle这一类有大文件类型的,其实也是通过流来存储文件,常用于图像文件,很少于用office类型的.

保存word文档到SQL数据库并且显示出来,(word文档的格式不许变)

word 文档保存的是doc格式还是rtf格式?如果你把它存为rtf格式就可以了。实际上没多大变化的,

如何将Word文档导入或导出access数据库

导入:打开ACCESS——文件——获取外部数据——导入——在打开的对话框里选择你要导入的文档。

导入:打开ACCESS——在“表”对象的空白处点鼠标右键——导入——在打开的对话框里选择你要导入的文档。

导出:打开ACCESS——在“表”对象里选择想要导出的表点右键——导出——在打开的对话框里选择存放的盘和名字——保存。

导出:按上面导出方法导出,只是在保存的类型时选.txt格式,最后你打开导出的txt文本,将里面的内容复制到word里,应该可以成功的。你可以参照http://wenwen.soso.com/z/q128031057.htm

如何把Word文档保存入access数据库?有好多工作上要用的Word文档,想建立一个VB-access软件保存它们

呵呵,access好像不支持文档,你可以用FSO上传文件的功能,变相的用。

sql数据库怎么导入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!

//传文档所在路径返回文档内容

publicstringDoc2Text(stringdocFileName)

{

//实例化COM

Microsoft.Office.Interop.Word.ApplicationClasswordApp=newMicrosoft.Office.Interop.Word.ApplicationClass();

objectfileobj=docFileName;

objectnullobj=System.Reflection.Missing.Value;

//打开指定文件(不同版本的COM参数个数有差异,一般而言除第一个外都用nullobj就行了)

Microsoft.Office.Interop.Word.Documentdoc=wordApp.Documents.Open(reffileobj,refnullobj,refnullobj,

refnullobj,refnullobj,refnullobj,

refnullobj,refnullobj,refnullobj,

refnullobj,refnullobj,refnullobj,refnullobj,refnullobj,refnullobj,refnullobj

);

//取得doc文件中的文本

stringoutText=doc.Content.Text;

//关闭文件

doc.Close(refnullobj,refnullobj,refnullobj);

//关闭COM

wordApp.Quit(refnullobj,refnullobj,refnullobj);

//返回

returnoutText;

}

在读取的时候会有损坏的文件 和被加密的文件等问题 总之C#和office的兼容性不太好

别忘了要引用word的dll

引用文件夹 右键添加引用 在组件里找Microsoft.Office.Interop.Word

读出了word文档再把它写入sqlserver数据库就可以了.

如何将WORD文档(文档中有文字、表格)保存在ACCESS数据库中的一个字段中以及从数据库中读出来

WORD和EXCEL的文件格式本身就可以用 Office 提供的数据库驱动来读(ADO)读出后写入数据库就可以了.关于如果读你搜下相关代码吧.我对VB操作数据库不熟悉.

你如果写网页比如ASP你只需要和ADO访问Access方法一样来访问WORD只是驱动不同而已

转载请注明出处51数据库 » 数据库保存word文档 将word文档保存到数据库中

软件
前端设计
程序设计
Java相关