ASP.NET实现word文档在线预览功能代码

 更新时间:2010年07月11日 21:16:04   作者:  
文档管理系统需要实现WORD能在线预览功能,以前觉得挺难的,经过一番研究发现,WORD自带的另存为可以保存为HTMl文件。
于是考虑在每个文件上传时为其生存一份HTMl文件,这样就能实现在线预览功能。主要代码如下
复制代码 代码如下:

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using Word = Microsoft.Office.Interop.Word;
public partial class test : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
WordToHtml("d:\\yijian.doc");
}
/// <summary>
/// word转成html
/// </summary>
/// <param name="wordFileName"></param>
private string WordToHtml(object wordFileName)
{
//在此处放置用户代码以初始化页面
Word.ApplicationClass word = new Word.ApplicationClass();
Type wordType = word.GetType();
Word.Documents docs = word.Documents;
//打开文件
Type docsType = docs.GetType();
Word.Document doc = (Word.Document)docsType.InvokeMember("Open", System.Reflection.BindingFlags.InvokeMethod, null, docs, new Object[] { wordFileName, true, true });
//转换格式,另存为
Type docType = doc.GetType();
string wordSaveFileName = wordFileName.ToString();
string strSaveFileName = wordSaveFileName.Substring(0, wordSaveFileName.Length - 3) + "html";
object saveFileName = (object)strSaveFileName;
docType.InvokeMember("SaveAs", System.Reflection.BindingFlags.InvokeMethod, null, doc, new object[] { saveFileName, Word.WdSaveFormat.wdFormatFilteredHTML });
docType.InvokeMember("Close", System.Reflection.BindingFlags.InvokeMethod, null, doc, null);
//退出 Word
wordType.InvokeMember("Quit", System.Reflection.BindingFlags.InvokeMethod, null, word, null);
return saveFileName.ToString();
}
}

相关文章

  • ASP.NET Core应用程序配置文件AppSetting.json

    ASP.NET Core应用程序配置文件AppSetting.json

    这篇文章介绍了ASP.NET Core应用程序配置文件AppSetting.json,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-02-02
  • Asp.Net 不同的OnClick事件区别小结(onserverclick,onclientclick)

    Asp.Net 不同的OnClick事件区别小结(onserverclick,onclientclick)

    下面以 HTML的按钮( system.web.ui.htmlcontrols ) 和 ASP.NET服务端按钮 ( system.web.ui.webcontrols ) 为例
    2012-05-05
  • .Net结构型设计模式之组合模式(Composite)

    .Net结构型设计模式之组合模式(Composite)

    这篇文章介绍了.Net结构型设计模式之组合模式(Composite),文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • ASP.NET Core之Web API介绍

    ASP.NET Core之Web API介绍

    这篇文章介绍了ASP.NET Core Web API,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • ASP.NET Core基础之启动设置

    ASP.NET Core基础之启动设置

    这篇文章介绍了ASP.NET Core基础之启动设置,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-02-02
  • ASP.NET Core中的Blazor组件介绍

    ASP.NET Core中的Blazor组件介绍

    这篇文章介绍了ASP.NET Core中的Blazor组件,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • ASP.NET Core MVC路由(Routing)的用法

    ASP.NET Core MVC路由(Routing)的用法

    这篇文章介绍了ASP.NET Core MVC路由(Routing)的用法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • .NET6使WebApi获取访问者IP地址

    .NET6使WebApi获取访问者IP地址

    这篇文章介绍了.NET6使WebApi获取访问者IP地址的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-12-12
  • ASP.NET 页面事件执行顺序介绍

    ASP.NET 页面事件执行顺序介绍

    当页面进行回发时,如点击按钮,以上事件都会重新执行一次,这时的执行顺序为OnPreInit、OnInit、OnInitComplete等等,感兴趣的朋友可以参考下哈
    2013-04-04
  • ASP.NET Core中的Options选项模式

    ASP.NET Core中的Options选项模式

    这篇文章介绍了ASP.NET Core中的Options选项模式,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04

最新评论