JavaScript导出excel word……

来源:互联网 发布:淘宝商城的企业资质 编辑:程序博客网 时间:2024/06/07 19:54

这里 是三种导出,网上搜的,excel导出还行,word就不好了,不是我想要的那种,但是还是贴出来了 嘿嘿,希望有更好的 告诉我下 谢谢,这里的word导出时利用复制黏贴原理,感觉很不好,有一种导出excel也是如此,这里还有导出表格信息的,不是复制黏贴%

  <script language="javascript">
 /**//*
*
  * @param {Object} cont  要导出的html元素内容的id,注意不要加双引号
   * @param {Object} key   分页关键字
  */
   function AllAreaWord(cont,key)
      {
          var oWD = new ActiveXObject("Word.Application");
           //默认为页面视图
          var oDC = oWD.Documents.Add("", 0, 0);
          var oRange = oDC.Range(0, 1);
        //var oRange1 = oDC.Range(0,2);
          var sel = document.body.createTextRange();
        //参数为html元素id
         sel.moveToElementText(cont);
         sel.select();
           sel.execCommand("Copy");
         oRange.Paste();
         oWD.Application.Visible = true;
          //得到打开后word的selection对象
          var selection = oWD.Selection;
         //设置字体大小
          selection.Font.Size = 10;
        //ctrl+A 全选操作
          selection.WholeStory();
         //清除格式
          selection.Find.ClearFormatting();
          //指定查找关键字
          selection.Find.Text = key;
         //^m为手动分页符标记
          //向下查找
          selection.Find.Forward = true;
          selection.Find.Wrap = 1;
           //不区分大小写
           selection.Find.MatchCase = false;
         //不匹配整个单词
          selection.Find.MatchWholeWord = false;
         //如果找到指定字符串返回真,否则返回false
           while (selection.Find.Execute())
         {
           //插入分页符,分页符常量为7,具体可查word api
            selection.InsertBreak(7);
     }
   }

这种是复制黏贴
 function AllAreaExcel()
 {
 var oXL = new ActiveXObject("Excel.Application");
 var oWB = oXL.Workbooks.Add();
 var oSheet = oWB.ActiveSheet;
 var sel=document.body.createTextRange();
 sel.moveToElementText(data);
 sel.select();
 sel.execCommand("Copy");
 oSheet.Paste();
 oXL.Visible = true;
 }

 

 

//导出到excel,这种事逐行逐列导出的
function AutomateExcel()
{
var oXL = new ActiveXObject("Excel.Application"); //创建应该对象
var oWB = oXL.Workbooks.Add();//新建一个Excel工作簿
var oSheet = oWB.ActiveSheet;//指定要写入内容的工作表为活动工作表
var table = document.all.data;//指定要写入的数据源的id 表格Id
var hang = table.rows.length;//取数据源行数
var lie = table.rows(0).cells.length;//取数据源列数
// Add table headers going cell by cell.
hang=hang-1;
lie=lie-1;
for (i=0;i <hang;i++){//在Excel中写行
 for (j=1;j <lie;j++){//在Excel中写列
 //定义格式
  oSheet.Cells(1,j).Font.Bold = true;//加粗
  oSheet.Cells(1,j).Font.Size = 10;//字体大小
  //if(table.rows(i).cells(j).innerHTML.toLowerCase().indexOf( " <img ")!=-1){//如果其HTML代码包括 <img
  //oSheet.Cells(i+1,j+1).Select();//选中Excel中的单元格
  //oSheet.Pictures.Insert(table.rows(i).cells(j).getElementsByTagName( "img ")[0].src);//插入图片
  //}
  //else{
  oSheet.Cells(i+1,j).value = table.rows(i).cells(j).innerText;//向单元格写入值
  //}
 }
}
oXL.Visible = true;
oXL.UserControl = true;
}
</script>