注意点:

1.首先注意的是,只有ie浏览器支持这方面的调用。

2.其次需要ie浏览器放开权限,在安全设置里面打开ActiveX的支持。

3.最后是本机上需要有excel。

然后贴代码:


//传入一个table的id,将table的全部内容导出excel文件
function AutomateExcel(objTable) {
// Start Excel and get Application object.
var oXL = new ActiveXObject("Excel.Application");
// Get a new workbook.
var oWB = oXL.Workbooks.Add();
var oSheet = oWB.ActiveSheet;
var hang = objTable.rows.length;

var lie = objTable.rows(0).cells.length;

// Add table headers going cell by cell.
for(var i = 0; i < hang; i++) {
for(var j = 0; j < lie; j++) {
oSheet.Cells(i + 1, j + 1).value = objTable.rows(i).cells(j).innerText;
}

}
oXL.Visible = true;
oXL.UserControl = true;
}
AutomateExcel(table);
//描述:将固定格式的xml文件导出excel文件
//strXml:传入的xml字符串,一般为dataset直接getxml得到的就可以;
//xmlField:要导入的字段和对应的中文名称,格式如下:
//var xmlField="<FIELDLIST><TITLE>主题</TITLE><KEYWORD>关键词</KEYWORD><TYPE>报题来源</TYPE><CREATE_DATE>创建日期</CREATE_DATE><COLUMN_NAME>所属栏目</COLUMN_NAME></FIELDLIST>";
function ExpXmlToExcel(strXml, xmlField) {
//导入xml字符串
var xmlDoc = new XmlDoc();
xmlDoc.loadXML(strXml);
var nodesList = xmlDoc.documentElement.childNodes;

//导入字段列表;
var xmlDocField = new XmlDoc();
xmlDocField.loadXML(xmlField);
var fieldList = xmlDocField.documentElement.childNodes;

// Start Excel and get Application object.
var oXL = new ActiveXObject("Excel.Application");
// Get a new workbook.
var oWB = oXL.Workbooks.Add();
var oSheet = oWB.ActiveSheet;
var hang = nodesList.length;
var lie = fieldList.length;
//插入表头

for(var j = 0; j < lie; j++) {
oSheet.Cells(1, j + 1).value = fieldList[j].text;
}

// Add table headers going cell by cell.
for(var i = 0; i < hang; i++) {
for(var j = 0; j < lie; j++) {
oSheet.Cells(i + 2, j + 1).value = nodesList[i].selectSingleNode(fieldList[j].nodeName).text;
}
}
oXL.Visible = true;
oXL.UserControl = true;
}

//指定页面区域内容导入Word
//eDiv:要导出具体内容的div
function ExpHtmlToWord(eDiv) {
var oWD = new ActiveXObject("Word.Application");
var oDC = oWD.Documents.Add("", 0, 1);
var oRange = oDC.Range(0, 1);
var sel = document.body.createTextRange();

sel.moveToElementText(eDiv);
sel.select();
sel.execCommand("Copy");
oRange.Paste();
oWD.Application.Visible = true;
}