asp.net 读取Word

简介: 本例下载:http://files.cnblogs.com/scottckt/ReadWord.rar   方法1:使用Js读取。代码: DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.

本例下载:http://files.cnblogs.com/scottckt/ReadWord.rar

 

方法1:使用Js读取。代码:

复制代码
<%@ Page Language= " C# " AutoEventWireup= " true " CodeFile= " js读取word.aspx.cs " Inherits= " js读取word " %>

<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< html  xmlns ="http://www.w3.org/1999/xhtml" >
< head  runat ="server" >

     < script  language ='javascript' >
         // 默认word转化文件放于C:\\下
         var os__localPath = "C:\\";
         // 保存的文件名
            var os__localFile = "defaultFileWord.htm";
            var os__xmlDom =  new ActiveXObject("MSXML2.DOMDocument");
            var os__xmlFSO ;

            // 保存数据到当前客户端(可以传入一个要保存的文件名).
            function os_SaveToLocal()
           {
             var _saveAs = "";
             if(arguments.length > 0)
             _saveAs = arguments[0] + "";
             else
             _saveAs = os__localFile;
            
             try
            {       
              if(os__xmlFSO ==  null)
              os__xmlFSO =  new ActiveXObject("Scripting.FileSystemObject");  
          
            }
             catch(e){window.alert(e);}
           } 
          
            // Word转化为Html文件
            function WorcChangeHtml()
           {
                 var os_xmlFSO;
                 // 获得上传控件对象
                 var objUpFile = document.getElementById("updFile");
                 // 获得客户端Word文件路径和文件
                 var UpFileValue = objUpFile.value;
                 if(os__xmlFSO ==  null)
                  os__xmlFSO =  new ActiveXObject("Scripting.FileSystemObject");     
                
                 try
                {
                      if(UpFileValue == "")
                     {
                          alert('请选择对应的Word文件');
                          objUpFile.focus();
                     }
                      else  if(UpFileValue.indexOf(".doc") == -1)
                     {
                          alert('您选择的不是Word文件 \r\n请选择正确的Word文件');
                          objUpFile.focus();
                     }   
                      else  if(!os__xmlFSO.FileExists(objUpFile.value))
                     {
                          alert('对应的Word文件不存在');
                          objUpFile.focus();    
                     }
                      else
                     {
                           var wdFormatHTML = 8;
                           var objWord =  new ActiveXObject("Word.Application");
                          objWord.Application.Visible =  false;
                           var objDoc = objWord.Documents.Open(UpFileValue);
                          objDoc.SaveAs(os__localPath+os__localFile, wdFormatHTML);
                          
                          UpFileValue = "";
                          objDoc.Close();
                          objWord.Quit();
                           var GetHtml = GetLine();
                           var iBeginIndex = GetHtml.indexOf("<body");
                           var iEndIndex = GetHtml.lastIndexOf("</body>");
                         
                          GetHtml =  GetHtml.substring(iBeginIndex,iEndIndex+7).replace("<body","<div");
                          GetHtml = GetHtml.replace("</body>","</div>");
                          
                          GetHtml = GetHtml.replace("lang=ZH-CN","");                          
                          GetHtml = GetHtml.replace("lang=EN-US","");
                          GetHtml = GetHtml.replace("style='mso-spacerun:yes'","");
                          GetHtml = GetHtml.replace("class=MsoNormal","");
                                                   

                           var vTxtIdea= document.getElementById("txtIdea");
                          document.write(GetHtml)
                 }
                }            
                 catch(e)
                {
                    window.alert(e);
                 }
           }
          
            // 读取文本文件
            function GetLine()
           {
                 var fso, txtfile, strValue;
                 var ForReading = 1, ForWriting = 2;
                fso =  new ActiveXObject("Scripting.FileSystemObject");
                txtfile = fso.OpenTextFile(os__localPath+os__localFile, ForReading);
                 while(!txtfile.AtEndOfStream)
                {
                 strValue = strValue + txtfile.ReadLine();
                }
                txtfile.Close();
                 return(strValue);
           }
     </ script >

     < title >无标题页 </ title >
</ head >
< body >
     < form  id ="form1"  runat ="server" >
         < input  id ="updFile"  type ="file"  style ="border-right: 1px solid; border-top: 1px solid;
            border-left: 1px solid; width: 77.46%; border-bottom: 1px solid; height: 26px"

            size
="71" >
         < input  style ="border-right: #999999 1px solid; border-top: #999999 1px solid; font-size: 15pt;
            border-left: #999999 1px solid; width: 103px; border-bottom: #999999 1px solid;
            height: 28px"
 onclick ="WorcChangeHtml()"  runat ="server"  id ="btnUpLoad"  type ="submit"
            value
="导入"  name ="btnUpLoad" >
         < textarea  style ="width: 88%; height: 412px"  id ="txtIdea"  runat ="server" ></ textarea >
         < br  />
         < br  />

     </ form >
</ body >
</ html >
复制代码

 

 方法2,将Word文件上传到服务器端后,在读取。 

复制代码
  private  void ReadWord()
    {
        Response.ClearContent();
        Response.ClearHeaders();
        Response.ContentType =  " Application/msword ";
         string s = Server.MapPath( " test.doc ");
        Response.WriteFile( " test.doc ");
        Response.Write(s);
        Response.Flush();
        Response.Close();
    }

     private  void ReadWord2()
    {
        Response.ClearContent();
        Response.ClearHeaders();
        Response.ContentType =  " Application/msword ";
         string strFilePath =  "";
        strFilePath = Server.MapPath( " test.doc ");
        FileStream fs =  new FileStream(strFilePath, FileMode.Open, FileAccess.Read,FileShare.Read);
        Response.WriteFile(strFilePath,  0, fs.Length);
        fs.Close(); 
    }

     private  void ReadWord3()
    {
         string path = Server.MapPath( " test.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=文件名.doc ");
        Response.Flush();
        Response.BinaryWrite(filedata);
        Response.End(); 
    }
复制代码

 

 其它说明:

       我原本想后台读取word后,在页面的某一页面中显示,但没找到方法。如果有谁知道,烦请告知我。 

 

http://www.cnblogs.com/scottckt/archive/2009/06/24/1510253.html

目录
相关文章
|
Linux C# Windows
.NET使用MiniWord高效生成Word文件
.NET使用MiniWord高效生成Word文件
507 12
|
JavaScript 前端开发 Linux
.Net开发的跨平台Word模板引擎
项目采用类似Vue、React模板方式,在模板定义相应的变量,再结合数据,快速生成Word文件。比如模板定义{FullName{}},项目会自动匹配键值为FullName的对象,并替换。
523 0
.Net开发的跨平台Word模板引擎
|
BI C++
用vb.net 导出word
上回借机房收费系统讲到了用vb.net导出Excel,这次在做项目的过程中,我们不仅学会了将数据打印到VS自带的报表中,还了解了如何用vb.net操作word,将窗体中的内容反映到word中。所以今天要向大家分享一下如何用VB.net 导出word,生成word报表。 第一步,添加引用:
333 0
|
关系型数据库 MySQL
.NET Core使用NPOI导出复杂Word详解
.NET Core使用NPOI导出复杂Word详解
803 0
.NET Core使用NPOI导出复杂Word详解
|
C#
C#/VB.NET 操作Word批注(二)——如何插入图片、读取、回复Word批注内容
序 在前面的文章C# 如何插入、修改、删除Word批注一文中介绍了如何操作Word批注的一些方法,在本篇文章中继续介绍操作Word批注的方法。分以下三种情况来介绍: 1. 插入图片到Word批注 2. 读取Word批注 3.
1635 0
|
测试技术 C#
C# /VB.NET操作Word批注(一)—— 插入、修改、删除Word批注
批注内容可以是对某段文字或内容的注释,也可以是对文段中心思想的概括提要,或者是对文章内容的评判、疑问,以及在阅读时给自己或他人起到提示作用。本篇文章中将介绍如何在C#中操作Word批注,主要包含以下要点: 插入Word批注 修改Word批注 删除Word批注 使用工具:Free Spire.
1606 0
|
C#
C#/VB.NET 给Word文档添加/撤销书签
在现代办公环境中,阅读或者编辑较长篇幅的Word文档时,想要在文档中某一处或者几处留下标记,方便日后查找、修改时,需要在相对应的文档位置插入书签。那对于开发者而言,在C#或者VB.NET语言环境中,如何来快速、简便的插入书签呢,我分享一下我的经验。
1214 0
|
Web App开发
.NET 动态向Word文档添加数据
    本文章主要用于在网页上填写数据动态填入Word模板中使用   首先要准备一个Word模板,然后在需要插入数据的位置插入书签,这样可以确定在网页上填入的数据可以插入到Word文档相应的位置。    在项目中要声明 using Microsoft.
2326 0