asp.net内容导入word文档与word模板

asp教程.net内容导入word文档与word模板中,第一款实例 就是一款完整的把asp.net教程的内容直接导入到word模板文件中,第二款是把内容导入word文档中。

using system;
using system.web.security;
using microsoft.office.interop.word;
using system.io;
/// <summary>
/// word 的摘要说明
/// </summary>
public class wordop
{
public wordop()
{
//
// todo: 在此处添加构造函数逻辑
//
}
private applicationclass wordapp ;
private document worddoc;
private static bool isopened=false;//判断word模版是否被占用
public void saveas(string strfilename,bool isreplace)
{
if (isreplace && file.exists(strfilename))
{
file.delete(strfilename);
}
object missing = type.missing;
object filename = strfilename;
worddoc.saveas(ref filename, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);
}
//定义一个word.application 对象
public void activewordapp()
{
wordapp = new applicationclass();
}
public void quit()
{
object missing = system.reflection.missing.value;
wordapp.application.quit(ref missing, ref missing, ref missing);
isopened = false;
}
//基于模版新建word文件
public void opentempelte(string strtemppath)
{
object missing = type.missing;
//object missing = system.reflection.missing.value;
activewordapp();
wordapp.visible = false;
object otemplate = (object)strtemppath;
try
{
while (isopened)
{
system.threading.thread.sleep(500);
}
worddoc = wordapp.documents.add(ref otemplate, ref missing, ref missing, ref missing);
isopened = true;
worddoc.activate();
}
catch (exception ex)
{
quit();
isopened = false;
throw new exception(ex.message);
}
}
public void filllable(string labelid,string content)
{
//打开word模版
// opentempelte(tempname); //对labelid的标签进行填充内容content,即函件题目项
object bkmc = labelid;
if (wordapp.activedocument.bookmarks.exists(labelid) == true)
{
wordapp.activedocument.bookmarks.get_item(ref bkmc).select();
}
wordapp.selection.typetext(content);
//saveas(saveasfilename);
//quit();
}
}

调用 方法

 

string path = server.mappath("download");
string templatepath = path + "file://www.111cn.net/";
wordop wop = new wordop();
wop.opentempelte(templatepath);
wop.filllable("id", "1");
wop.filllable("usr_name", "测试");
wop.saveas(path + "file://savetest.doc",true/);
wop.quit();
response.redirect(@"/download/savetest.doc");//做个跳转用于下载.

 

来看一款asp.net把数据导入到word

在安装office2003以后,有一个activex控件被安装到了系统中,这个控件位于“program filesmicrosoft officeoffice11owssupp.dll”。通过这个控件,客户端页面上的网页特效就可以激活本地的office软件,来实现打开、编辑office文档。(另,office xp应该就已经包含这个activex控件了。)

  首先,用script创建一个本地的对象:

 

 opendocobj = new activexobject( "sharepoint.opendocuments.2 "); // 为了兼容office xp,可以创建“sharepoint.opendocuments.1”

  然后,调用opendocobj的相应的方法。比如打开服务器上的一个office文档:

 

 opendocobj.viewdocument( "http://www.111cn.net/documents/sample.doc ");

  opendocobj对象会根据参数中不同的office文档类型(.doc、.xls、.ppt)来打开不同的程序(word、excel、powerpoint)。viewdocument()方法还有一个重载签名,可以让我们手工指定激活哪个程序来打开文档:

  

opendocobj.viewdocument( "http://www.111cn.net/documents/sample.doc ", 要激活的程序的progid);

  那么要打开office程序在线编辑文件又如何?

 

 opendocobj.editdocument( "http://www.111cn.net/documents/sample.doc ");

  就可以直接激活word,在word里面编辑文档,然后直接点击word里面的保存功能,就可以将文件保存会服务器上了。注意:为了让word能将编辑后的文档直接保存会服务器,访问web站点的当前上下文的windows identity必须对服务器的相应目录(即“http://www.111cn.net/documents”这个虚拟目录所对应的服务器上的物理路径)有相应的写权限,否则保存动作会失败。编辑完成后,editdocument()会返回一个bool值,来反映编辑操作是否成功。

  我们还可以通过打开服务器上的一个文档模版,来创建一个新的文档:

 

 opendocobj.createnewdocument( "http://www.111cn.net/documents/sampletemplate.dot ", "http://www.111cn.net/documents/ ");

  就可以使用“http://www.111cn.net/documents/sampletemplate.dot”这个模版来创建一个新的文档,默认新文档的保存地点是“http://www.111cn.net/documents/”。创建新文档时使用的程序取决于模版文件的类型(比如.dot模版会对应word)。新文档的保存同样需要注意权限问题。createnewdocument()方法同样会返回一个bool值来反映操作是否成功。

  createnewdocument()方法的第一个参数,除了可以使用一个模版的地址外,还可以直接指定为希望用来创建新文档的客户端程序的progid。

 

 <html>

  <head>

  <title>

  test_word

  </title>

  <script language= "javascript ">

  function validator()

  {

  var opendocobj;

  opendocobj = new activexobject( "sharepoint.opendocuments.2 ");

  opendocobj.editdocument( "c:inetpubwwwroot前言.doc ");

  }

  </script>

  </head>

  <body bgcolor= "#ffffff ">

  <h1>

  <input type= "button " name= "word " value= http://down.111cn.net/qz.q/"word " onclick= "validator() ">

  </h1>

  </body>

  </html>

时间: 2024-10-24 15:10:21

asp.net内容导入word文档与word模板的相关文章

合并Word文档的另类方法

今天遇到一个问题,就是需要把多个Word文档的内容追加到一个目标Word文档的后面,如果我有目标文档a.doc以及其他很多个文档b.doc,c.doc-等等数量很多.这个问题,如果是在服务端的话,直接使用OpenXML技术,读写文档就可以实现,这样性能较稳定,但是需要对OpenXML有一定的了解.如果在客户端机器上,可以使用Word PIA实现. 由于本人对于Word PIA较熟悉,所以采用了该方法.但是在实现的过程中,也是有很多种思路的. 将b.doc打开,将其中的内容选中,复制到剪贴板,然后

Java程序把Word文档直接转换成HTML文件

word|程序|转换 Jacob是Java和Windows下的Com桥,通过它我们可以在Java程序中调用COM组件.如果你的JDK是1.4,那你需要下载Jacob1.9的jni库才能正常运行,早期版本在JDK1.4下有些问题. package com; /*** 〈p〉Title:Word文档转html类〈/p〉* 〈p〉Description: 〈/p〉* 〈p〉Copyright:() 2002〈/p〉* @author 舵手* @version 1.0*/import com.jacob

Word入门动画教程1:新建Word文档

我们为各位不熟悉Word的读者准备了这个入门级动画教程,希望带领您了解Word.用好Word. 从今天开始我们会陆续为大家发布,敬请关注! 第一讲:新建Word文档 启动Word 2003应用程序后,Word自动创建一个名称为"文档1"的空白文档.如果要创建新的文档,可以使用下面三种方法: 方法一:按Ctrl+N快捷键 方法二:单击"常用"工具栏的"新建空白文档"按钮 方法三:执行"文件"→"新建-",启动

怎么恢复受损了的word文档

有时候我们可能会遇到Word文档损坏的情况,但是如果您没有备份,那么就要想办法来恢复word文档.电脑主题之家(www.51ztzj.com)这里有7个不同的解决方法,看看哪种更适合您吧? 一.文档格式法 这种方法是将损坏的Word文档转换为另一种格式,然后再将其转换回Word文档格式.这是最简单和最彻底的文档恢复方法.1.在Word中打开损坏的文档后,选择"文件→另存为",在"保存类型"列表中,选择"RTF格式(*.rtf)",然后单击&quo

winform-dsoframerocx 打不开服务器上的Word文档

问题描述 dsoframerocx 打不开服务器上的Word文档 解决方案 Word打不开,如何修复word文档?Word 打不开 解决方法word打不开---解决方法

api-java调用打印机的API打印word文档

问题描述 java调用打印机的API打印word文档 打印word文档的话需要怎么设置!我现在这样,如果是txt文件没有问题,如果是docx则是乱码.

asp.net中如何批量导出access某表内容到word文档_实用技巧

下面通过图文并茂的方式给大家介绍asp.net中批量导出access某表内容到word文档的方法,具体详情如下: 一.需求:  需要将表中每一条记录中的某些内容导出在一个word文档中,并将这些文档保存在指定文件夹目录下 二.界面,简单设计如下: 三.添加office相关引用 添加后可在解决方案资源管理器中看到: 四.添加form1中的引用 using System.Data.OleDb; using System.Data.SqlClient; using System.IO; using M

asp.net导入excel或word文档代码

asp教程.net导入excel或word文档代码      //说明下 enableeventvalidation="false"的使用:     //在页面上添加了输入型服务器控件时(如 textbox),就需要设置为false了,否则会报错:也就是关闭页面验证,默认是开启的.  private void dbexport()     {         httpcontext.current.response.charset = "gb2312";      

asp.net如何使用FreeTextBox输出word文档的内容

问题描述 我是个菜鸟,想问大家个问题,我在sqlsever中存了word文档的地址,在网页中如何用FreeTextBox显示出Word文档的内容啊?包括图片格式什么的.或者用RichTextBox也行,具体如何做?请大家帮帮我,谢谢了! 解决方案 解决方案二:本帖最后由 net_lover 于 2015-08-30 16:06:58 编辑解决方案三:请问有没有具体的例子什么的?是这样,我是在研究毕业设计,关于在线阅读以前没有接触过,没有头绪,谢谢帮助了!