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


推荐几个小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的所有格式包括字体颜色,背景颜色将保留。

是一个简易的方式。

你可能感兴趣的:(JavaScript,function,浏览器,Excel,table,internet)