html 页面导入excel,html导入到excel或word中的实现代码

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,将需要保存的文本,以流的形式输出到页面,然后保存为指定的文件类型。

复制代码 代码示例:

///

/// 将html导出Excel

///

/// html内容

/// 导出时的默认文件名

public void ExportToExcel(string content, string FileName)

{

var resp = this.Response;

string filenames = HttpUtility.UrlEncode(FileName + DateTime.Now.ToString("yyyy-MM-dd"), Encoding.UTF8) + ".xls";

Dictionary cols = new Dictionary();

//设定导出文件的格式

resp.ContentType = "application/vnd.ms-excel";

//by www.jbxue.com

//设定编码方式

//resp.Charset = "gb2312";

resp.ContentEncoding = System.Text.Encoding.UTF7;

//关闭ViewState

EnableViewState = false;

//把HTML写回浏览器

resp.AppendHeader("Content-Disposition", "attachment;filename=" + filenames);

resp.Write(content);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值