将html导入到excel或word itprobie

摘要:
1˃ 通过js实现,在页面的前台调用MicrosoftOffice的com组件。用户必须安装office,启动自动化服务,并在浏览器中启用未注册的activex选项。函数importToExcel(tableid){varcurTbl=document.getElementById(tableid);try{varoXL=newActiveXObject(“Excel.Applic

1>通过js实现,在页面的前台调用微软office的com组件,要求用户必须安装office,启动automation服务,并且在浏览器中启用未注册的activex选项.

function importToExcel(tableid) {
    var curTbl = document.getElementById(tableid);
    try {
        var oXL = new ActiveXObject("Excel.Application");
    }
    catch (e) {
        alert("请安装微软Excel并且在浏览器的安全级别中启用‘对未标记为安全执行脚本的ActiveX控件初始化并执行脚本’的安全选项");
        return;
    }
    var oWB = oXL.Workbooks.Add();
    var oSheet = oWB.ActiveSheet;

    var sel = document.body.createTextRange();
    sel.moveToElementText(curTbl);
    sel.select();
    sel.execCommand("Copy");

    oSheet.Paste();
    oXL.Visible = true;
}

function importToWord(tableid) {
    var curTbl = document.getElementById(tableid);
    try {
        var oWD = new ActiveXObject("Word.Application");
    } catch (e) {
        alert("请安装微软Word并且在浏览器的安全级别中启用‘对未标记为安全执行脚本的ActiveX控件初始化并执行脚本’的安全选项");
        return;
    }
    var oDC = oWD.Documents.Add("", 0, 1);
    var oRange = oDC.Range(0, 1);

    var sel = document.body.createTextRange();
    sel.moveToElementText(curTbl);
    sel.select();
    sel.execCommand("Copy");

    oRange.Paste();
    oWD.Application.Visible = true;
}  

2>在服务器端实现,服务器端需要安装office,客户端不需要安装office,将需要保存的文本,以流的形式输出到页面,然后保存为指定的文件类型。输出的时候必须加上<meta http-equiv=\"content-type\" content=\"application/ms-excel; charset=gb2312\"/>,否则会乱码

        /// <summary>
        /// 将html导出Excel
        /// </summary>
        /// <param name="content">html内容</param>
        /// <param name="FileName">导出时的默认文件名</param>
        public void ExportToExcel(string content, string FileName)
        {

_context.Response.AppendHeader("Content-Disposition",
string.Format("attachment;filename={0}", HttpUtility.UrlPathEncode(filename)));
_context.Response.ContentType = string.Format("application/vnd.ms-{0}", type);
_context.Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
_context.Response.Charset = "gb2312";

_context.Response.Write(string.Format("<meta http-equiv=\"content-type\" content=\"application/ms-excel; charset=gb2312\"/>{0}", 

Microsoft.JScript.GlobalObject.unescape(_context.Request["data"])));
_context.Response.End();

        }

免责声明:文章转载自《将html导入到excel或word itprobie》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇基于Django+celery二次开发动态配置定时任务 ( 二)Flask基础之返回值与form表单提交下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Spring学习笔记(14)——SpEL

是什么 Spring表达式语言全称为“Spring Expression Language”,缩写为“SpEL”,类似于Struts2x中使用的OGNL表达式语言,能在运行时构建复杂表达式、存取对象图属性、对象方法调用等等,并能与Spring功能完美整合。 表达式语言给静态Java语言增加了动态功能。 SpEL是单独模块,只依赖于core模块,...

python操作excel

在python中,对excel表格 wlrd 读取excel表中的数据 xlwt 创建一个全新的excel文件,然后对这个文件进行写入内容以及保存。 xlutils 读入一个excel文件,然后进行修改或追加,不能操作xlsx,只能操作xls。 一、读excel表 读excel要用到xlrd模块 1、导入模块 import xlrd 2、打开excel...

c# 操作Excel

基本操作类 public class ExcelUtil { public void ReleaseCOM(object pObj)//释放资源 { try { System.Runtime.InteropServi...

记druid 在配置中心下的一个大坑: cpu 达到 100%

把我们的dubbo 应用移步到配置中心上去之后,发现我们的应用过一段时间就会出现cpu 100%的情况 (大概是12个小时),一开始cpu占用是2-5% 的样子,什么都没做,后面竟然用尽了cpu。。 把jvm 线程堆栈打印一下,发现线程数竟然达到了上万..... 发现最多是这样的一个线程: "com.alibaba.nacos.client.Worker....

IdentitiServser4 + Mysql实现Authorization Server

 Identity Server 4官方文档:https://identityserver4.readthedocs.io/en/latest/ 新建2个asp.net core 项目使用空模板 Auth 身份认证服务 Client客户端 Auth项目打开安装相关依赖  IdentityServer4 和 EF 实体框架 Mysql EF Provid...

Android 之窗口小部件详解--App Widget

Android 之窗口小部件详解--App Widget  版本号 说明 作者 日期  1.0  添加App Widge介绍和示例  Sky Wang 2013/06/27            1 App Widget简介App Widget是应用程序窗口小部件(Widget)是微型的应用程序视图,它可以被嵌入到其它应用程序中(比如桌面...