将网页上的表格导出为Excel文件 或 word文件

来源:互联网 发布:模拟退火算法 matlab 编辑:程序博客网 时间:2024/06/06 10:00


推荐几个小javascript方法。


许多项目实现将ArrayList导出为Excel表格并供客户下载。但如果是只需要将网页上已经显示的表格导出为Excel文件,其实只需要使用javascrip函数即可。之前有尝试过一些方法,但浏览器似乎对javascript的语句很敏感,需要将internet选项的安全程度调得很低,用户体验不好。推荐几个小方法,经试验,搜狗浏览器和IE8都受用。


 //指定页面区域内容导入Excel function AllAreaExcel()  {  var oXL = new ActiveXObject("Excel.Application");   var oWB = oXL.Workbooks.Add();   var oSheet = oWB.ActiveSheet;    var sel=document.body.createTextRange();  sel.moveToElementText(PrintA); //PrintA 为table 的 id 属性值  sel.select();  sel.execCommand("Copy");  oSheet.Paste();  oXL.Visible = true; } //指定页面区域“单元格”内容导入Excel function CellAreaExcel()  {  var oXL = new ActiveXObject("Excel.Application");   var oWB = oXL.Workbooks.Add();   var oSheet = oWB.ActiveSheet;   var Lenr = PrintA.rows.length;  for (i=0;i<Lenr;i++)   {    var Lenc = PrintA.rows(i).cells.length;    for (j=0;j<Lenc;j++)    {     oSheet.Cells(i+1,j+1).value = PrintA.rows(i).cells(j).innerText;    }   }   oXL.Visible = true;  } //指定页面区域内容导入Word function AllAreaWord() {  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(PrintA);  sel.select();  sel.execCommand("Copy");  oRange.Paste();  oWD.Application.Visible = true;  //window.close(); }

页面仍会询问是否允许交互,点“是”即可。会打开一个新建的Excel或word文档,并将table中的内容复制到文档里,因为是使用复制方式,table的所有格式包括字体颜色,背景颜色将保留。

是一个简易的方式。