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导出word
public void Download(){Random rd = new Random();string fileName = DateTime.Now.ToString("yyyyMMddhhmm") + rd.Next() + ".doc";//存储路径string path = Server.MapPath(fileName);//创建字符输出流StreamWriter sw = new StreamWriter(path, true, System.Text.UnicodeEncoding.UTF8);//需要导出的内容string str = "无标题文档这里放从数据库导出的word文档内容";//写入sw.Write(str);sw.Close();Response.Clear();Response.Buffer = true;this.EnableViewState = false;Response.Charset = "utf-8";Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));Response.ContentType = "application/octet-stream";Response.WriteFile(path);Response.Flush();Response.Close();Response.End();}标准word文档的格式微软暂未公布,由此我们可将需要导出的内容转为标准HTML文件储存,后缀名为.doc也可以将要导出内容转为标准XML格式存储,改后缀为.doc具体格式随意新建个word文档,输入内容,另存为.XML可见另外一种导出方式为word导出标准格式,服务器需要安装Microsoft Office word,需要预先设置好一个word文档并在要插入内容的地方设置书签做为模版,导出word文档时需要先遍历模版文件中的所有书签,然后给书签赋值就能实现导出数据了还有不懂的可以直接百度HI我是否可以解决您的问题?
asp.net word转换为html文件,并在asp页面显示html
这个是可以实现的,WORD 转 HTML 就是按照WORD的排版,平移到 HTML上。
同时,HTML 转 WORD 也很方便的,只需要把HTML的样式,写入WORD即可。
这里需要注意,WORD 不支持DIV等标签,仅仅支持TABLE这些标签,写程序的时候注意样式和标签的改变哈。
网页上的word文件导不出来
参考下面做法:第一步:首先,找到需要复制的表格所在的网页。
第二步:尝试对表格进行全选,并单击鼠标右键进行复制操作,这种表格其实只是视觉上的表格,边框线是不能被复制的。
第三步:接下来把刚刚复制的表格粘贴到Word2007中,发现表格的边框线并不存在,只剩下表格中的文字,而且文字中存在很多回车符这些制表符,仔细观察对照原网页中的表格,表格的每个单元格内容被回车符分开,而且回车符的数量是1。
此时正好利用Excel200的的文本转换为表格的功能。
注意:此功能识别分隔符,所以当分隔符不是1个,最好观察规律,用EXCEL2007的批量替换功能将其进行选择性替换。
第四步:在Word2007中单击【插入】菜单,进入【表格选项卡】,选中刚刚粘贴过来的文字,单击【表格】按钮,进入表格菜单,选择【文本转换成表格】,打开【将文字转换成表格】对话框,列数选择4,文字分隔位置选择【段落标记】单选按钮,选中【根据内容调整表格】,此时可以看到表格行数自动变成6,和网页中表格行数一致,说明设置是对的。
第五步:单击【确定】按钮,将文字转换成表格。
此时生成的表格和网页中的表格基本一致,还可以根据需要对表格进行进一步调整。
asp.net做网页在TextBox里怎么获得输入文本如word一样的有字体\颜色...
原来的是下载DOC文档的一个页面,用的是 Response.Clear Response.ContentType = "application/pdf" Response.AddHeader "content-disposition", "attachment; filename=" & FileName Set Stream = server.CreateObject("ADODB.Stream") Stream.Type = adTypeBinary Stream.Open Stream.LoadFromFile Server.MapPath(FileName) While Not Stream.EOS Response.BinaryWrite Stream.Read(1024 * 64) Wend Stream.Close Set Stream = Nothing Response.Flush Response.End...
如何在asp.net中实现票据的打印
关于ASP.NET页面打印技术的总结 B/S结构导致了Web应用程序中打印的特殊性。
? 程序运行在浏览器中,打印机在本地,而文件确可能在服务器上,导致了打印控制不是很灵活。
? 格式如何控制和定制等,是我们开发中可能会面对的问题。
打印文档的生成 ? 1、客户端脚本方式 一般情况下,主要使用JS 可以分析源页面的内容,将欲打印的页面元素提取出来,实现打印。
通过分析源文档的内容,可以生成打印目标文档。
优点:客户端独立完成打印目标文档的生成,减轻服务器负荷; 缺点:源文档的分析操作复杂,并且源文档中的打印内容要有约定。
? 2、服务器端程序方式 利用后台代码从数据库中读取打印源,生成打印目标文档。
当的页面生成时,还应适当考虑使用CSS 来实现强制分页控制。
优点:可以生成内容非常丰富的打印目标文档,目标文档的内容的可控性强。
由于打印内容是从数据库中获取的,所以生成操作相对简单; 缺点:服务器端负载比较大; 页面设置 ? 页面设置主要是指设置打印文档的页边距、页眉、页脚、纸张等内容。
页面设置将直接影响到打印文档版面的生成效果,所以它和打印文档的生成有着密切的关系。
比如:表格的行数、大小、位置、字体的大小等。
现有的技术是利用IE6.0 内置的打印模板方式来控制页面设置,其可以对打印目标文档产生非常大的影响。
打印模板可以控制页边距、页眉、页脚、奇偶页等内容,并可以将用户的设置取得,还可以将设置发送到服务器端。
打印模板技术可以自定预览窗口和打印格式,最大限度地影响目标文档和打印效果。
IE直接打印 ? 即直接调用window.print或者webrower控件的ExecWB方法来打印。
? 优点:方便快捷,客户端无需任何设置即可。
? 缺点:打印控制不是很灵活。
如果直接调用 window.print来打印页面,页面上别的元素也会被打印处理,页头页尾的格式也不好控制。
? 常用方法:大部分情况会把查询的结果绑定到DataGrid上来,然后打印DataGrid。
这种情况的打印一般来说格式比较固定简单,确定后基本不会再作更改。
所以可以采用IE直接打印。
【实例代码】 注:①这是客户端通过window.print打印指定内容。
这里定义sprnstr和eprnstr来指定内容 执行代码:②如果直接使用window.print将打印页面上的所有内容,但是我们可以使用function preview(){ bdhtml=window.document.body.innerHTML; sprnstr=""; eprnstr=""; prnhtml=bdhtml.substr(bdhtml.indexOf(sprnstr)+17); prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr)); window.document.body.innerHTML=prnhtml; window.print();} 本部分以上不被打印 本部分以下不被打印 @media Print { .Noprn { DISPLAY: none }} 不打印 打印 WebBrowser 控件技术 ? 打印操作的实现 此功能的实现主要是利用WebBrowser控件的函数接口来实现打印、打印预览(默认的)、 页面设置(默认的)。
//打印WebBrowser1.ExecWB(6,1);//打印设置WebBrowser1.ExecWB(8,1);//打印预览WebBrowser1.ExecWB(7,1);//直接打印WebBrowser1.ExecWB(6,6);//自定义类PrintClasspublic string DGPrint(DataSet ds){ //DGPrint执行的功能:根据DataTable转换成对应的HTML对应的字符串 DataTable myDataTable=new DataTable(); myDataTable=ds.Tables[0]; int myRow=myDataTable.Rows.Count; int myCol=myDataTable.Columns.Count; StringBuilder sb=new StringBuilder(); string colHeaders=""+"" +""; for(int i=0;i"+ myDataTable.Columns[i].ColumnName.ToString()+""; } colHeaders += ""; sb.Append(colHeaders); for(int i=0;i"); for(int j=0;j"); sb.Append(myDataTable.Rows[i][j].ToString().Trim()); sb.Append(""); } sb.Append(""); } sb.Append(""); colHeaders=sb.ToString(); colHeaders+="<script languge='Jav...
请教一个NPOI生成word中table的问题
Dreamweaver flash Fireworks 他们版本现在是mx了,简介: 网页三剑客:MX Macromedia公司发布了Flash MX 2004、Dreamweaver MX 2004和Fireworks MX 2004的测试版,跟上一个MX版本相比,三剑客都有了很大的变化,下面我们就来看看它们有了些什么新的不同吧! Flash MX 2004 Flash MX 2004的版本 Flash MX 2004的启动界面没有太多的变化(如图1),除了标明Flash MX 2004之外,在右下角还写着Version 7.0的字样,不知道正式版出来之后名称会不会有所改变。
Flesh MX 2004分成两个版本:“Matador”和“Toreador”。
“Matador”版专为网页设计师、交互式媒体制作人员设计,将功能的重点放在了各种类型媒体(音频、视频、位图、矢量、文本和数据等)的创建、导入和操作上。
而“Toreador”版是为高级网页设计师和程序开发人员准备的,它除了拥有“Matador”的所有功能外,还带有一些功能强大的新工具,比如“Toreador”专门有一个工程管理工具,可以优化设计人员和开发人员工程团队的工作流程。
Flash MX 2004的新功能 进入Flash MX 2004之后,会发现整体的界面柔和了许多(如图2),给人一种耳目一新的感觉。
Flash MX 2004增加了模板向导功能,这样一些初学者也可以通过模板向导来轻松建立Flash动画了,让制作动画的门槛大大降低。
Flash MX 2004采用了新的锯齿字体。
锯齿字体跟普通字体不同,它对小字体显示进行了特别优化,因此确保了在字体很小时也能很清晰地显示出来。
以前在使用其他视频制作软件制作影片时,如果其中导入了一段Flash动画,那么你还需要下载专门的Flash播放器才能正常播放这段影片。
而现在就不一样了,用Flash MX 2004制作生成的动画文件,可以直接嵌入到其他影片中播放,而不需要下载专门的Flash播放软件。
另外,Flash MX 2004的兼容性比以前要好了很多,尤其在对流媒体的支持方面表现尤为突出。
在以前用QuickTime FLV插件导出的动画只能用QuickTime来观看,而现在可以用包括Avid、Final Cut Pro、Cleaner、After Effects等等多种格式的播放器来观看了。
图1 Flash MX 2004的启动画面 图2 Flash MX 2004的界面 Dreamweaver MX 2004 Dreamweaver MX 2004的主界面变化不是很大,但跟Flash MX 2004一样增加了模板向导功能(如图3)。
图3 Dreamweaver MX 2004的工作界面 出色的安全性 在安全性上Dreamweaver MX 2004有了很大的提高,完全加密的网页传输方式保证了文件和账号信息的安全性,不用担心会泄漏网站里面的信息和内容。
Dreamweaver MX 2004强化了图形编辑功能,修剪、改变大小、尺寸、旋转角度和调节明暗度等功能,这样你不用第三方软件就可以对图片进行简单的修改。
广泛的空间支持 Dreamweaver MX 2004对目前一些比较常见的网站空间都有着很好的支持,包括Cold FusionJ2EE、PHP、.NET等等主流的服务器技术。
除此之外程序还加入了以XML命名空间支持,ASP.NET表单控件对象等,这样一来用Dreamweaver MX 200制作出来的网页就可以上传到更多格式的网站空间里面了。
无缝整合外部文件和代码 无缝整合外部文件和代码是Dreamweaver MX 2004的最大亮点。
在Dreamweaver MX 2004中,你可以将Word和Excel中的文档直接复制粘贴进来,可以保留字体、颜色和CSS样式信息,就不需要再手动进行调整了,非常方便! Dreamweaver MX 2004还增加了协同办公的功能,这样可以在Dreamweaver里面直接调用Flash和Fireworks主程序,工作效率提高了很多。
Fireworks MX 2004 使用更加方便 Fireworks MX 2004的主界面如图4。
属性面板有了不小的改变,一些工具菜单中采用了实时预览,这样一来选择笔刷和材质时就会方便很多。
Fireworks MX 2004中可以直接将GIF和JPEG文件进行保存,而不用再像以前一样需要导出之后再保存了。
增加了图像特效 Fireworks MX 2004增加了许多图像特效,如渐变、虚线描边、添加杂色和自动图形等等,这样在处理图像的时候就会更加游刃有余了。
此外程序还增加了许多照片修饰工具:如移除红眼工具、颜色替换工具和动态模糊工具等。
这样以后再处理一些复杂图片的时候就不用启动PhotoShop等大型软件了,用Fireworks就可以轻松解决。
系统反锯齿和自定义反锯齿 如果你以前就使用过Fireworks的话,那么会在输入文字的时候会发现边缘有锯齿不光滑。
而在Fireworks MX 2004中可以对反锯齿进行自定义,以后再输入文件的时候就不会发现不光滑的现象了。
除此之外,Fireworks MX 2004提供了JavaScript API接口,这样编程爱好者可以进行插件开发,让Fireworks变得更加完善。
展开
转载请注明出处51数据库 » asp.net 页面导出word文档