asp.net怎样超链接显示 word文档?
asp.net中要显示(不编辑)word文件,请问如何实现?谢谢!
之前我在网上找了如下代码,Response.Write("<script language=javascript> this.parent.rightFrame.location.href='c:\\abc.doc'</script>");
但是似乎没有任何效果。。
[解决办法]
调用office组件,然后将word转换为html代码,在根据具体路径显示到界面
[解决办法]
<%@ 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>