如何在c#中编辑word文档,并存入数据库?

clevery 2003-09-15 11:52:41
如何在c#中编辑word文档,并存入数据库?
...全文
357 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
BRainHart 2003-09-17
  • 打赏
  • 举报
回复
中间注释的代码是用来读写图片的.有兴趣的话可以试一试.DrowToScale的代码你可以写的非常简单,把你的图片传给控件就可以了.
BRainHart 2003-09-17
  • 打赏
  • 举报
回复
至少到目前为止,我还没有找到一个可以直接从二进制流读出来直接进行编缉而不进行保存的.在这里也问过,不过没有答案.所以,只好把二进制流读出来保存到硬盘上,再进行打开编辑,当WORD关闭时,把它删掉.
方法和保存到数据库大概是一样的,只不过是由saveFileDialog来完成的,而且FileMode要改变一下.
try
{
fileCommand=new SqlCommand("SELECT FileBody FROM tblFile WHERE FileName='"+comboBox1.Text+"'",fileConnection);
byte[] b=(byte[])fileCommand.ExecuteScalar();
string file=comboBox1.Text;
/* if(b.Length > 0)
{
// Open a stream for the image and write the bytes into it
System.IO.MemoryStream stream = new System.IO.MemoryStream(b, true);
stream.Write(b, 0, b.Length);

// Draw photo to scale of picturebox
DrawToScale(new Bitmap(stream));

// Close the stream and delete the temp file
stream.Close();
}*/
if(b.Length>0)
{
System.IO.MemoryStream stream=new MemoryStream(b,true);
//stream.Write(b,0,b.Length);
saveFileDialog1.FileName=file;
if(DialogResult.OK==saveFileDialog1.ShowDialog())
{

System.IO.FileStream aa=new FileStream(saveFileDialog1.FileName,System.IO.FileMode.OpenOrCreate,System.IO.FileAccess.Write);
aa.Write(b,0,b.Length);

stream.Close();
}
}
comboBox1.Text是你在数据库中存储的WORD文件的名字.
还要记得把数据库名字改掉:)
yyfa6 2003-09-16
  • 打赏
  • 举报
回复
gz
clevery 2003-09-16
  • 打赏
  • 举报
回复
还有一个问题,如何把存到数据库的word文档打开?
BRainHart 2003-09-15
  • 打赏
  • 举报
回复
首先是建立Word的实例.
需要
Microsoft.Office.Interop.Word.dll
Office.dll

Application app = new Application();
object template=Missing.Value;
object newTemplate=Missing.Value;
object documentType=Missing.Value;
object visible=true;
_Document doc = app.Documents.Add( ref template,ref newTemplate,ref documentType,ref visible);

http://www.yesky.com/20030208/1651044.shtml
然后是存入数据库
private void LoadIn_Click(object sender, System.EventArgs e)
{
if(DialogResult.OK==openFileDialog1.ShowDialog())
{
foreach(string filename in openFileDialog1.FileNames)
{
System.IO.FileStream stream=new FileStream(filename,System.IO.FileMode.Open,System.IO.FileAccess.Read);
byte[] buffer=new byte[stream.Length];
stream.Read(buffer,0,(int)buffer.Length);
stream.Close();
InsertFile(ref buffer,filename);
}

}
}
void InsertFile(ref byte[] buffer,string filename)
{
try
{

comm=new SqlCommand ("insert into tblFile values(@filename,@filebody)",conn);
comm.Parameters.Add("@filename",SqlDbType.NVarChar).Value=filename;
comm.Parameters.Add("@filebody",SqlDbType.Image).Value=buffer;
comm.ExecuteNonQuery();
}
catch(SqlException ex)
{
MessageBox.Show(ex.Message);
}

}
至于COM我想也不会太难了吧
clevery 2003-09-15
  • 打赏
  • 举报
回复
我的本意不是要在c#中编辑word文档,是不是能用ole实现?soulroom说用com方式,请具体点,我是新手。
先谢了
HenanBoy 2003-09-15
  • 打赏
  • 举报
回复
在C#中编辑Word我感觉这个东西比较难了。不过要是存如数据库比较容易了早网上很多了。你找找看了
soulroom 2003-09-15
  • 打赏
  • 举报
回复
你可以用Com的方式调用word文档,然后将文件的二进制流存入数据库
NTKO OFFICE文档控件支持在线编辑,痕迹保留,手写签名,电子印章,全屏批注,电子签名[数字签名,数字证书签名],简单OCR等实用功能,支持PHP,ASP,JSP,C#,VB.NET,DOMINO等各种web编程语言和服务器。 NTKO OFFICE文档控件能够在浏览器窗口直接编辑Word,Excel,Wps等Office文档并保存到任意Web服务器。实现文档和电子表格的统一管理。同时支持强制痕迹保留,手写签名,电子印章,版本控制,附件上传等办公自动化系统必备的功能。是OA系统开发的最佳选择组件!!卓越的性能,低廉的价格,简洁高效的编程接口,让您以最低的开发成本,轻松创建极具特色的办公自动化解决方案! 采用基于标准的而非基于自定义协议强大的B/S通讯技术,能够自由的将服务器数据库的数据插入当前文档的指定位置,而且还可以将文档的指定数据随时保存到服务器上。 NTKO OFFICE文档痕迹保留全屏批注手写签名电子印章控件是拥有完全自主知识产权的ActiveX控件。 NTKO OFFICE文档控件4.0版本新增异步下载等多项功能。异步下载方法支持显示文件下载进度或者不显示进度的选项,大大改善了用户界面体验,并满足多种不同层次的开发需求。 http://www.ntko.com在线演示展示了NTKO OFFICE文档控件的“异步下载”,“智能提交”等技术。该技术能让您更简单快速的将控件集成到您的产品。 NTKO OFFICE文档控功能强大,以下仅为部分功能列表: 1 新增电子签名[CA数字签名]的功能。符合国家《电子签名法》V3.0版本新增了文档电子签名[CA数字签名]功能。同时简化了一些常用功能的函数和方法。3.0版本的数字签名功能基于国际标准开发,同时符合《电子签名法》。独创使用电子签名[数字签名]验证对文档内容,格式等的任何改动。同时支持联合签名,证书吊销列表等功能。电子签名[数字签名]功能采用标准接口,可以和企业已有的PKI系统无缝融合。 2 增强对WPS文档和金山电子表支持。增加保存PPT为HTML,支持UTF8 URL等功能 V2.5.2.3版本新增了对WPS痕迹保留的支持,并支持金山电子表。另外,该版本还增加了保存PPT为HTML,支持UTF8 URL和UTF8数据编码传输的功能。 3 新增可定制的文件菜单,可定制一个主菜单,禁止F12保存文档,可显示页码,页数信息的状态栏。 V2.5.2.1版本新增了可定制文件菜单,可定制一个主菜单。进一步增强了系统的可集成性。新增禁止F12快捷键保存文档,以及在禁止拷贝的基础上禁止文字拖放的功能,进一步增强了文件的安全性。新的状态栏可以显示Word文档的页码和页数等信息。用户使用更加方便。 另外新增印章管理控件,可在浏览器创建,修改印章从保存到本地或者服务器。 4 新增压缩存储和传输功能 V2.5.1版本新增的压缩存储和传输功能,使的20K左右的Word文档压缩后只有2K左右。极大节约了数据库或磁盘空间,提高了网络利用率和传输效率。 5 新增全文批注功能和远程印章管理控件。 V2.5版本新增的全文批注功能,能够让您以所见即所得的方式对文档进行全文批注。新增的印章管理控件可以让您修改远程服务器上的印章,并保存回服务器。 6 全面支持C/S方式和其他容器。在VB,Delphi,C++Builder均可以很方便的使用控件 V2,3,2,0版本之后,NTKO OFFICE文档控件不仅可以继续与浏览器和各种后台Web服务器无缝集成创建B/S结构的应用,更全面支持C/S方式的编程和其他容器。您可以在VB,Delphi,以及C++ Builder使用控件。快速创建具有痕迹保留,电子印章等功能的C/S结构的应用。 7 支持将数据直接写入ODBC数据源。 V2,3,2,0版本之后,NTKO OFFICE文档控件支持直接从ODBC数据源读取文档内容,或者将文档内容存入ODBC数据源。这为C/S结构下创建共享的办公系统,文档管理,知识管理解决方案提供了更强大的接口。 8 状态栏,智能Web调用,预定义模板套红 全面支持状态栏,用户界面更加友好。智能Web调用让您甚至可使用XML或者自定义的协议与服务器通讯! 9 广泛的操作系统,Web服务器,数据库和编程语言支持 后台支持Windows,Linux,Unix等各种操作系统;支持IIS,Domino,Websphere,Apache等所有后台WEB服务器类型,支持Db2,Oracle,MySQL,SQL Server等各种常用数据库和JSP,ASP,PHP,PERL等编程语言。 10 支持在提交编辑文档的同时,提交表单的其它数据,包括其它的文件上传 采用我们独创的“智能提交”技术,让您在提交编辑文档的同时,提交表单的其

110,502

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧