asp.net页面读取word文档内容显示
操作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
asp.net 在页面上显示本地的word文档里的内容。
网上方法不少,可以尝试搜索一下。
第一种方法:Response.ClearContent();Response.ClearHeaders();Response.ContentType = "Application/msword";string s=Server.MapPath("E:/wendang/wo582.doc");Response.WriteFile("E:/wendang/wo582.doc");Response.Write(s);Response.Flush();Response.Close();第二种方法:Response.ClearContent();Response.ClearHeaders();Response.ContentType = "Application/msword"; string strFilePath=""; strFilePath =Server.MapPath("E:/wendang/wo582.doc"); FileStream fs = new FileStream(strFilePath,FileMode.OpenOrCreate,FileAccess.Read);Response.WriteFile(strFilePath,0,fs.Length);fs.Close(); 第三种方法:string path=Server.MapPath("E:/wendang/wo582.doc");FileInfo file=new FileInfo(path);FileStream myfileStream=new FileStream(path,FileMode.Open,FileAccess.Read);byte[] filedata=new Byte[file.Length];myfileStream.Read(filedata,0,(int)(file.Length));myfileStream.Close();Response.Clear();Response.ContentType="application/msword";Response.AddHeader("Content-Disposition","attachment;filename=wo582.doc");Response.Flush();Response.BinaryWrite(filedata);Response.End();
asp.net打开pdf文件
可能是默认的文档模板被修改了。
打开word,把不需要的内容删除后,选择“文件”→“页面设置”,然后点击对话框最左下角的“默认”,在弹出窗口中选择“是”。
就修改好了模板。
也可以试试在C盘查找normal.dat文件,这是word默认的模板文件,从别的机器上拷贝一个相同的文件来覆盖它。
如何才能不再出现“开始工作”的框栏每次打开Word和Excel,
1.用asp.net做网站的步骤是:如果在本地测试就必须要装IIS和NETFramework 2.0 SDK 开发环境就是 dreamweaver 或 Visual Studio .NET 2003或者2005以上只是推荐至于用什么就看你的喜好了。
如果你会VB或ASP那就简单很多了,要是都不会的话我建议从ASP起步这样会牢固一些,虽然ASP和ASP.NET不是同一个概念但是也有很多相似的地方。
要是你有支持.NET的空间那以上的几个软件就不必装了,做完页面传到空间浏览一下就可以了。
2.你要二次开发别人的站要是完全提供源代码的话按你的想法改就可以了,要是封装了的话就不简单了 3.至于dreamweaver和vs的合理利用还是那样看你的爱好,我认为在编程方面就用VS页面设计就用dreamweaver,在页面设计上dreamweaver还是很强大的。
要是只想学习asp.net只用VS就可以它也提供了可视化的设计窗口,要是想做的美化一点,或以后要用他来吃饭那就建议两个一块使用。
IIS下asp.net调用com组建操作和生成新的word文件问题
JSP也是一种编网页的技术,但是这种技术可以应用于一种叫做J2EE系统的表现层中——浅显点的话,就是说,JSP是用Java编网页的一种技术,并且是属于J2EE阵营的一部分,是大型企业级应用程序中经常用到的一种技术,虽然算不上是新技术了,但是J2EE现在/将来是IT的重头戏。
.NET是效仿Java做出来的一种跨语言、理论上可移植的一个应用框架/平台/环境。
.NET也是微软搞出来的向java挑战的另一大阵营的名字。
.NET包括了非常之多的内容,当然也包括用来编网页的技术。
.NET系列技术喜欢在技术后面加上.NET,比如C# .NET、C++ .NET、ASP.NET等等很多。
要说明一点的是,一楼的哥们,.NET不是编程软件,它更类似于一种虚拟机,用来提供.NET应用的运行时环境。
Java是一门非常优秀的编程语言,它对“面向对象编程”这个思想表现得淋漓尽致炉火纯青天花乱坠,不仅如此,Java在网络、安全、企业级、嵌入式等很多方面有天生的特长。
不知道这样算不算是浅显,或者是罗嗦。
用文字编辑器就能打开!记事本,word,Dreamweaver,UltraEdit等打开
如何用asp.net 读取 二进制 文件
.Net下图片的常见存储与读取凡是有以下几种:存储图片:以二进制的形式存储图片时,要把数据库中的字段设置为Image数据类型(SQL Server),存储的数据是Byte[].1.参数是图片路径:返回Byte[]类型: public byte[] GetPictureData(string imagepath) { ////根据图片文件的路径使用文件流打开,并保存为byte[] FileStream fs = new FileStream(imagepath, FileMode.Open);//可以是其他重载方法 byte[] byData = new byte[fs.Length]; fs.Read(byData, 0, byData.Length); fs.Close(); return byData; }2.参数类型是Image对象,返回Byte[]类型: public byte[] PhotoImageInsert(System.Drawing.Image imgPhoto) { //将Image转换成流数据,并保存为byte[] MemoryStream mstream = new MemoryStream(); imgPhoto.Save(mstream, System.Drawing.Imaging.ImageFormat.Bmp); byte[] byData = new Byte[mstream.Length]; mstream.Position = 0; mstream.Read(byData, 0, byData.Length); mstream.Close(); return byData; } 好了,这样通过上面的方法就可以把图片转换成Byte[]对象,然后就把这个对象保存到数据库中去就实现了把图片的二进制格式保存到数据库中去了。
下面我就谈谈如何把数据库中的图片读取出来,实际上这是一个相反的过程。
读取图片:把相应的字段转换成Byte[]即:Byte[] bt=(Byte[])XXXX1.参数是Byte[]类型,返回值是Image对象: public System.Drawing.Image ReturnPhoto(byte[] streamByte) { System.IO.MemoryStream ms = new System.IO.MemoryStream(streamByte); System.Drawing.Image img = System.Drawing.Image.FromStream(ms); return img; }2.参数是Byte[] 类型,没有返回值,这是针对asp.net中把图片从输出到网页上(Response.BinaryWrite) public void WritePhoto(byte[] streamByte) { // Response.ContentType 的默认值为默认值为“text/html” Response.ContentType = "image/GIF"; //图片输出的类型有: image/GIF image/JPEG Response.BinaryWrite(streamByte); } 补充:针对Response.ContentType的值,除了针对图片的类型外,还有其他的类型:Response.ContentType = "application/msword"; Response.ContentType = "application/x-shockwave-flash"; Response.ContentType = "application/vnd.ms-excel"; 另外可以针对不同的格式,用不同的输出类型以适合不同的类型:switch (dataread("document_type")) { case "doc": Response.ContentType = "application/msword"; case "swf": Response.ContentType = "application/x-shockwave-flash"; case "xls": Response.ContentType = "application/vnd.ms-excel"; case "gif": Response.ContentType = "image/gif"; case "Jpg": Response.ContentType = "image/jpeg"; }
转载请注明出处51数据库 » asp.net 打开word
超级爱范儿