zoukankan      html  css  js  c++  java
  • asp.net 读取Word

    本例下载:https://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;  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;  103px; border-bottom: #999999 1px solid;
                height: 28px"
     onclick="WorcChangeHtml()" runat="server" id="btnUpLoad" type="submit"
                value
    ="导入" name="btnUpLoad">
            
    <textarea style=" 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后,在页面的某一页面中显示,但没找到方法。如果有谁知道,烦请告知我。

  • 相关阅读:
    java中的subList
    值传递和引用传递
    java程序中有异常处理和没有异常处理的区别
    正则表达式
    poj 3187 三角数问题
    poj 2718 切数问题 穷竭搜索
    ACM 广度优化搜索算法总结
    poj 3669 火星撞地球问题 bfs算法
    poj 2251 三维地图最短路径问题 bfs算法
    ACM 深度优化搜索算法小总结
  • 原文地址:https://www.cnblogs.com/scottckt/p/1510253.html
Copyright © 2011-2022 走看看