asp.net 读取word 文档的方法
资料一:适合读取并显示(简单而明了)
第一种方法:
Response.ClearContent();
Response.ClearHeaders();
Response.ContentType =
"Application/msword";
string
s=Server.MapPath("C#语言参考.doc");
Response.WriteFile("C#语言参考.doc");
Response.Write(s);
Response.Flush();
Response.Close();
第二种方法:
Response.ClearContent();
Response.ClearHeaders();
Response.ContentType
=
"Application/msword";
string
strFilePath="";
strFilePath
=Server.MapPath("C#语言参考.doc");
FileStream
fs
=
new
FileStream(strFilePath,FileMode.OpenOrCreate,FileAccess.Read);
Response.WriteFile(strFilePath,0,fs.Length);
fs.Close();
第三种方法:
string path=Server.MapPath("C#语言参考.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并显示与保存
//保存数据到当前客户端(可以传入一个要保存的文件名).
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 = window.document.Form1.updFile;
//获得客户端Word文件路径和文件
var UpFilue = window.document.Form1.updFile.value;
if(os__xmlFSO == null)
os__xmlFSO = new ActiveXObject("Scripting.FileSystemObject");
try
{
if(window.document.Form1.updFile.value == "")
{
alert('请选择对应的Word文件');
objUpFile.focus();
}
else if(UpFilue.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(UpFilue);
objDoc.SaveAs(os__localPath os__localFile, wdFormatHTML);
window.document.Form1.updFile.value = "";
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>");
//将转化后的值赋给页面控件txtIdea的值,我为了将Word值保存进数据库所以用<input
type = "hidden" ..... 如果将Word内容显示可以考虑
window.document.Form1."你的显示控件ID".innerText = GetHtml;
window.document.Form1.txtIdea.value = 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>
注意页面上需要添加以下2个控件和对应的客户端事件
<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: 15.25%; HEIGHT: 23px"
rows="50" cols="16" id="txtIdea"
runat="server">
其中txtIdea中的值就是客户端Word中的内容了,注意:需要调整IE的安全性设置,否则将无效.
asp.net 读取word 文档的方法的更多相关文章
- asp.net(C#)读取word 文档的方法
第一种方法 Response.ClearContent(); Response.ClearHeaders(); Response.ContentType = "Application/msw ...
- asp.net生成word文档服务器配置
一.asp.net生成word文档,布署到正式的服务器上就出现 错误:System.Runtime.InteropServices.COMException (0x800A1098 ...
- PHP网页导出Word文档的方法分离
今天要探讨的是PHP网页导出Word文档的方法,使用其他语言的朋友也可以参考,因为原理是差不多的. 原理 一般,有2种方法可以导出doc文档,一种是使用com,并且作为php的一个扩展库安装到服务器上 ...
- C# 设置、删除、读取Word文档背景——基于Spire.Cloud.Word
Spire.Cloud.Word.Sdk提供了接口SetBackgroudColor().SetBackgroudImage().DeleteBackground().GetBackgroudColo ...
- 利用POI工具读取word文档并将数据存储到sqlserver数据库中
今天实现了利用POI工具读取word文档,并将数据存储到sql数据库中,代码如下: package word; import java.io.File; import java.io.FileInpu ...
- ASP.NET生成WORD文档,服务器部署注意事项
网上转的,留查备用,我服务器装的office2007所以修改的是Microsoft Office word97 - 2003 文档这一个. ASP.NET生成WORD文档服务器部署注意事项 1.Asp ...
- C#实现通过模板自动创建Word文档的方法
原文地址:http://www.jb51.net/article/55332.htm 本文实例讲述了C#实现通过模板自动创建Word文档的方法,是非常实用的技巧.分享给大家供大家参考.具体实现方法 ...
- C#读取Word文档内容代码
首先要添加引用com组件:然后引用: using Word = Microsoft.Office.Interop.Word; 获取内容: /// /// 读取 word文档 返回内容 /// //// ...
- Python读取word文档(python-docx包)
最近想统计word文档中的一些信息,人工统计的话...三天三夜吧 python 不愧是万能语言,发现有一个包叫做 docx,非常好用,具体查看官方文档:https://python-docx.read ...
随机推荐
- AP、路由、中继、桥接、客户端模式之间的区别
AP.路由.中继.桥接.客户端模式之间的区别 在TP-Link迷你无线路由器上一般有AP(接入点)模式.Router(无线路由)模式.Repeater(中继)模式.Bridge(桥接)模式. Clie ...
- bsgs算法详解
例题 poj 2417bsgs http://poj.org/problem?id=2417 这是一道bsgs题目,用bsgs算法,又称大小步(baby step giant step)算法,或者 ...
- Codeforces Round #374 (Div. 2) A. One-dimensional Japanese Crosswor 水题
A. One-dimensional Japanese Crossword 题目连接: http://codeforces.com/contest/721/problem/A Description ...
- Hadoop系列之(二):Hadoop集群部署
1. Hadoop集群介绍 Hadoop集群部署,就是以Cluster mode方式进行部署. Hadoop的节点构成如下: HDFS daemon: NameNode, SecondaryName ...
- Unity3D实践系列09, 物理引擎与碰撞检测
在Unity3D中,一个物体通常包含一个Collider和一个Rigidbody.Collider是碰撞体,一个物体是Collider,才可以进行碰撞检测.Collider组件中的"Is T ...
- Warning: The Copy Bundle Resources build phase contains this target's Info.plist file 'Info
WARNING: The Copy Bundle Resources build phase contains this target's Info.plist file 'Info.plist'. ...
- C#编程(四十)----------运算符重载
运算符重载 所谓的运算符重载是指允许用户使用用户定义的类型编写表达式的能力. 例如,通常需要编写类似与以下内容的代码,入江两个数字相加,很明显,sum是两个数字之和. int i=5,j=4; int ...
- Java删除List和Set集合中元素
今天在做项目时,需要删除List和Set中的某些元素,当时使用边遍历,边删除的方法,却报了以下异常: ConcurrentModificationException 为了以后不忘记,使用烂笔头把它记录 ...
- JAVA使用Marvin在图片中搜索图片
Java对图像的处理框架比较少,目前比较流行的有Jmagick以及Marvin,但Jmagick只能处理图像(上篇Java清除图片中的恶意信息(利用Jmagick)中对Jmagick已做过简略介绍), ...
- 安装veloeclipse插件报错解决方案
步骤: 1.把Eclipse安装目录下的artifacts.xml打开,搜索veloeclipse,把它相关的项删除: 2.Help 3. Install New Software 4.Work Wi ...