乔山办公网我们一直在努力
您的位置:乔山办公网 > office365 > 怎样word文档以二进制流的形式存入数据库-web office导入word,word文档

怎样word文档以二进制流的形式存入数据库-web office导入word,word文档

作者:乔山办公网日期:

返回目录:office365


一般office各自的打开自己的问题,还可以打开txt,等文件。
1、右击WORD文档,在快捷菜单中选按“属性”,在“属性”对话框的“常规”选项卡中,按“打开方式”后的“更改”按钮,调出“打开方式”对话框,在“程序”列表中选择“Microsoft Word”,选中“始终使用选择的程序打开这种文件”,然后按“确定”按钮;
2、在“文件夹选项”中进行修改:桌面双击打开“我的电脑”,点击“工具”菜单的“文件夹选项”,有“文件类型”选项卡,以“已注册的文件类型”列表中分别找到DOC、DOCX、DOCHTML、DOCM、DOCMHTML、DOT、DOTHTML,选中它,再点“打开方式”后的“更改”按钮,在程序列表中找到并选中Microsoft Word,同时选中“始终使用选择的程序打开这种文件”,按“确定”。

protected void Button1_Click(object sender, EventArgs e)
        {
 
            //FileInfo thefile = new FileInfo(@"D:\立项依据e799bee5baa6e79fa5e98193e4b893e5b19e336.doc");
            FileStream fsDoc = File.OpenRead(@"D:\立项依据.doc");
 
            DateTime dtnow = DateTime.Now;
            string filename = dtnow.ToString("yyyyMMdd")+".doc";
 
            byte[] buffer=new byte[fsDoc.Length];
 
            fsDoc.Read(buffer,0,(int)fsDoc.Length);
            conn.Open();
            string sqlCmd = @"Insert into MyUploadTable(filename,filesize,filedata,ProjectID,IsAuditActivePage)
                              Values(@filename,@filesize,@filedata,@ProjectID,1)";
            SqlCommand Cmd = new SqlCommand(sqlCmd,conn);
            Cmd.Parameters.Add("@filename",SqlDbType.VarChar).Value=filename;
            Cmd.Parameters.Add("@filesize",SqlDbType.BigInt).Value=fsDoc.Length;
            Cmd.Parameters.Add("@filedata",SqlDbType.Image).Value=buffer;
            Cmd.Parameters.Add("@ProjectID",SqlDbType.Int).Value=2;
            Cmd.ExecuteNonQuery();
            fsDoc.Close();
            conn.Close();
 
             
        }

有两种办法:
1:把你保存的web文档点击右键,选择打开方式,用word打开。
2:直接双击web文档打开后在文件里面有用word编辑,选择就能打开。

用BufferedReader很容易实现的.我写了一个,仅供参考:
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;

public class ReaderWordFile
{
public static void main(String[] args){
//我是假设我的word文件为F:盘下的test.doc.所以先创建这个文件.
File file = new File("F://test.doc");
FileInputStream fis=null;
Reader reader=null;
BufferedReader br=null;
try {
/*创建文件输入流,这是一个字节流.然后通过Reader的封装,Reader指向的其实是InputStreamReader.InputStreamReader是字节流通向字符流的桥梁,BufferedReader再封装Reader,通过他的readLine()来读取字符*/
fis = new FileInputStream(file);
reader = new InputStreamReader(fis);
br = new BufferedReader(reader);
String strLine;
StringBuffer sb = new StringBuffer();
/*sb用于存读取的字符串,因为大量的append的,所以用StringBuffer,效率要大大的高于String的拼接*/
while((strLine = br.readLine())!=null){
sb.append(strLine+"\n");
}
/*这个while就是这段代码的意义所在了,用readLine(),一行一行的读出doc文件中的内容*/
System.out.println(sb.toString());
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
/*为了保证每个流都能关闭,最好是给每一个分别套上try catch.这个有一个关闭异常不会影响其他的关闭,我这样写显然不安全,只是为了方便*/
fis.close();
reader.close();
br.close();
} catch (IOException e) {
e.printStackTrace();
}

}

}
}

当然这样做,这个word文件必须得是纯文本文件.所以这个方法更适合于读取txt文件.

补充:
word文件已经在数据e68a84e8a2ade799bee5baa6e997aee7ad94365库里了?你想从数据库中读取word文件?
如果word是以binary或image存在在数据库中的.你也可以把这些数据封装在一个输入流里面.你仅仅只是多做了ODBC-JDBC桥而已,当然不同的数据库都对Java提供了JDBC包,且都是免费下载的到的,使用起来就更方便了.
我不明白word文件的来源到底是文件,还是数据源有什么区别?
你掌握一种思想就行了.

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网