`

使用JavaScript中的ActiveXObject控制Excel的方法

阅读更多
使用JavaScript中的ActiveXObject控制Excel的方法,比较全。
---------------------------------------------------
使用JavaScript中的ActiveXObject填充并设置Excel格式
1.创建实例并创建工作表
var XLObj = new ActiveXObject("Excel.Application");//创建Excel实例
var xlBook = XLObj.Workbooks.Add;                         //新增工作簿
var ExcelSheet = xlBook.Worksheets(1);                   //创建工作表
2.保存表格
ExcelSheet.SaveAs("C:\\TEST.XLS");
3.使 Excel 通过 Application 对象可见
ExcelSheet.Application.Visible = true;或者ExcelSheet.Visible=true;
4.打印
xlBook.PrintOut;或者:ExcelSheet.PrintOut;
5.关闭
xlBook.Close(savechanges=false);或者ExcelSheet.Close(savechanges=false);
6.结束进程
ExcelSheet.Application.Quit()或者XLObj.Quit(); XLObj=null;
7.页面设置
ExcelSheet.ActiveSheet.PageSetup.LeftMargin= 2/0.035;         //页边距 左2厘米
ExcelSheet.ActiveSheet.PageSetup.RightMargin = 3/0.035;      //页边距 右3厘米,
ExcelSheet.ActiveSheet.PageSetup.TopMargin = 4/0.035;        //页边距 上4厘米,
ExcelSheet.ActiveSheet.PageSetup.BottomMargin = 5/0.035;   //页边距 下5厘米
ExcelSheet.ActiveSheet.PageSetup.HeaderMargin = 1/0.035;   //页边距 页眉1厘米
ExcelSheet.ActiveSheet.PageSetup.FooterMargin = 2/0.035;    //页边距 页脚2厘米
ExcelSheet.ActiveSheet.PageSetup.CenterHeader = "页眉中部内容";
ExcelSheet.ActiveSheet.PageSetup.LeftHeader = "页眉左部内容";
ExcelSheet.ActiveSheet.PageSetup.RightHeader = "页眉右部内容";
ExcelSheet.ActiveSheet.PageSetup.CenterFooter = "页脚中部内容";
ExcelSheet.ActiveSheet.PageSetup.LeftFooter = "页脚左部内容";
ExcelSheet.ActiveSheet.PageSetup.RightFooter = "页脚右部内容";
8.对单元格操作,带*部分对于行,列,区域都有相应属性
ExcelSheet.ActiveSheet.Cells(row,col).Value = "内容";                //设置单元格内容
ExcelSheet.ActiveSheet.Cells(row,col).Borders.Weight = 1;        //设置单元格边框*()
ExcelSheet.ActiveSheet.Cells(row,col).Interior.ColorIndex = 1;    //设置单元格底色*(1-黑色,2-白色,3-红色,4-绿色,5-蓝色,6-黄色,7-粉红色,8-天蓝色,9-酱土色..可以多做尝试)
ExcelSheet.ActiveSheet.Cells(row,col).Interior.Pattern = 1;         //设置单元格背景样式*(1-无,2-细网格,3-粗网格,4-斑点,5-横线,6-竖线..可以多做尝试)
ExcelSheet.ActiveSheet.Cells(row,col).Font.ColorIndex = 1;        //设置字体颜色*(与上相同)
ExcelSheet.ActiveSheet.Cells(row,col).Font.Size = 10;                //设置为10号字*
ExcelSheet.ActiveSheet.Cells(row,col).Font.Name = "黑体";        //设置为黑体*
ExcelSheet.ActiveSheet.Cells(row,col).Font.Italic = true;             //设置为斜体*
ExcelSheet.ActiveSheet.Cells(row,col).Font.Bold = true;             //设置为粗体*
ExcelSheet.ActiveSheet.Cells(row,col).ClearContents;                //清除内容*
ExcelSheet.ActiveSheet.Cells(row,col).WrapText=true;               //设置为自动换行*
ExcelSheet.ActiveSheet.Cells(row,col).HorizontalAlignment = 3; //水平对齐方式枚举* (1-常规,2-靠左,3-居中,4-靠右,5-填充 6-两端对齐,7-跨列居中,8-分散对齐)
ExcelSheet.ActiveSheet.Cells(row,col).VerticalAlignment = 2;      //垂直对齐方式枚举*(1-靠上,2-居中,3-靠下,4-两端对齐,5-分散对齐)
//行,列有相应操作:
    ExcelSheet.ActiveSheet.Rows(row).
    ExcelSheet.ActiveSheet.Columns(col).
    ExcelSheet.ActiveSheet.Rows(startrow+":"+endrow).                   //如Rows("1:5")即1到5行
    ExcelSheet.ActiveSheet.Columns(startcol+":"+endcol).                //如Columns("1:5")即1到5列
    //区域有相应操作:
    XLObj.Range(startcell+":"+endcell).Select;
        //如Range("A2:H8")即A列第2格至H列第8格的整个区域
    XLObj.Selection.
    //合并单元格
    XLObj.Range(startcell+":"+endcell).MergeCells = true;
        //如Range("A2:H8")即将A列第2格至H列第8格的整个区域合并为一个单元格
    或者:XLObj.Range("A2",XLObj.Cells(8,8)).MergeCells = true;
9.设置行高与列宽
ExcelSheet.ActiveSheet.Columns(startcol+":"+endcol).ColumnWidth = 22;//设置从firstcol到stopcol列的宽度为22
ExcelSheet.ActiveSheet.Rows(startrow+":"+endrow).RowHeight = 22;//设置从firstrow到stoprow行的宽度为22
Var myrange oSheet.Range(oSheet.Cells(2,1),oSheet.Cells(2,6));
myRange.Columns.AutoFit()
myRange.Rows.AutoFit()//好像不太管用
//设置该区域为自适应高度和宽度
使用JavaScript将表格内容导出到Excel的方式
1.整个表格拷贝到EXCEL中
function CopyTable(tableid)
{
     //整个表格拷贝到EXCEL中
     var curTbl = document.getElementById(tableid);
     var oXL = new ActiveXObject("Excel.Application");
     //创建AX对象excel
     var oWB = oXL.Workbooks.Add();
     //获取workbook对象
     var oSheet = oWB.ActiveSheet;
         //激活当前sheet
     var sel = document.body.createTextRange();
     sel.moveToElementText(curTbl);
     //把表格中的内容移到TextRange中
     sel.select();
     //全选TextRange中内容
     sel.execCommand("Copy");
     //复制TextRange中内容
     oSheet.Paste();
     //粘贴到活动的EXCEL中      
     oXL.Visible = true;
     //设置excel可见属性
}
2.把单元格内容拷贝到Excel,并设置单元格格式.
function method2(tableid) //读取表格中每个单元到EXCEL中
{
     var curTbl = document.getElementById(tableid);
     var oXL = new ActiveXObject("Excel.Application");
     //创建AX对象excel
     var oWB = oXL.Workbooks.Add();
     //获取workbook对象
     var oSheet = oWB.ActiveSheet;
     //激活当前sheet
     var Lenr = curTbl.rows.length;
     var y=document.getElementById('dropYear');
     var m=document.getElementById('dropMonth');
     //取得表格行数
     oSheet.Cells( 1, 1).value='商户名称:工商银行商城';
     oSheet.Range(oSheet.Cells(1,1),oSheet.Cells(1,6)).Merge()
     oSheet.Cells(2,1).value=日期; '+y.options[y.selectedIndex].value+'-'+m.options[m.selectedIndex].value;
     oSheet.Range(oSheet.Cells(2,1),oSheet.Cells(2,6)).Merge()
     oSheet.Cells( 3, 1).value='销售情况'
     oSheet.Range(oSheet.Cells(3,1),oSheet.Cells(3,6)).Merge()
     oSheet.Cells( 3, 1).HorizontalAlignment=3;
     oSheet.Cells( 3, 1).Font.Size=14;
     oSheet.Cells( 3, 1).Font.Bold = true;
     oSheet.Range(oSheet.Cells(4,1),oSheet.Cells(4,6)).Merge()
     oSheet.Cells(4,1).value=document.getElementById('lbMessage').innerText;
     for (i = 0; i < Lenr; i++)
     {
     var Lenc = curTbl.rows(i).cells.length;
//取得每行的列数
         for (j = 0; j < Lenc; j++)
         {
             oSheet.Cells(i + 5, j + 1).value = curTbl.rows(i).cells(j).innerText;
             //赋值
         }
     }
     oSheet.Cells(i+6,2).value=document.getElementById('hidSum').value;
     oSheet.Columns.AutoFit();
     oSheet.Rows.AutoFit();
     oSheet.Rows(4).RowHeight = 30;
     oXL.Visible = true;
     //设置excel可见属性
     oXL.Quit();
     oXL = null;
     idTmr = window.setInterval("Cleanup();",1);//强制释放资源
}
function Cleanup()//清除Excel资源
{
     window.clearInterval(idTmr);
     CollectGarbage();
}
使用JavaScript按照表格格式复制内容到剪切板
1.在Excel中进行粘贴
function copytable()
{
    var content=''
    var tb=document.getElementById('GVmain');
    var rows=tb.rows;
    for(var i=0;i<rows.length;i++)
    {
          var cells=rows[i].cells;
          for(var j=0;j<cells.length;j++)
          {
              content +=cells[j].innerText.toString()+'\t';
          }
         content +='\n';
     }
     if(content!='')
     {
         clipboardData.setData("text",content);
         alert("复制成功!")
     }
}
分享到:
评论

相关推荐

    使用JavaScript中的ActiveXObject填充并设置Excel格式

    ### 使用JavaScript中的ActiveXObject填充并设置Excel格式 在IT领域,特别是对于那些处理大量数据的开发者来说,能够熟练地利用编程语言对Excel进行操作是一项非常有用的技能。本篇将详细介绍如何使用JavaScript...

    JavaScript中使用ActiveXObject操作本地文件夹的方法

    因此,这种技术通常只在受信任的环境中使用,例如在Intranet网站上。 - 如前所述,ActiveXObject是IE特有,不被其他浏览器如Chrome、Firefox等支持。这意味着使用这种方法编写的功能将无法在非IE浏览器上运行。 5....

    javascript操作EXCEL

    JavaScript 操作 Excel 是指使用 JavaScript 语言来操作和控制 Excel 应用程序。通过使用 ActiveXObject 对象,可以在客户端操作 Excel 文件,而不需要访问服务器端。 在使用 JavaScript 操作 Excel 时,需要在...

    javascript+vba实现打印excel功能

    VBA则是Microsoft Office内置的编程环境,允许用户自定义应用程序的功能,如Excel中的宏。通过VBA,我们可以直接对Excel对象模型进行操作,包括打开文件、选择工作表和执行打印命令。 实现JavaScript和VBA结合的...

    基于JavaScript的JSP页面数据导出Excel.pdf

    知识点二:JavaScript在JSP页面数据导出Excel中的应用 在JSP页面数据导出Excel中,JavaScript主要用于数据交互、报表格式设计和数据获取。JavaScript可以通过EXT中间件进行数据交互,使用JsonReader将数据转换为...

    JavaScript 导入 excel 兼容IE11

    总的来说,JavaScript在IE11中导入Excel文件需要考虑浏览器的兼容性和安全性,同时利用像ActiveXObject这样的特有对象或第三方库来实现功能。在实际项目中,确保对不同浏览器进行充分的测试,以提供最佳的用户体验。

    java\JavaScript利用ActiveX导出Excel,Word .doc

    JavaScript可以通过创建ActiveXObject实例来访问和控制ActiveX控件。在本文中,我们看到了`new ActiveXObject("Excel.Application")`和`new ActiveXObject("Word.Application")`,这分别用于创建Excel和Word的应用...

    javascript 操作Word和Excel的实现代码

    向Excel中写入数据 可以使用`Range`对象向Excel的特定单元格写入数据。 ```javascript worksheet.Cells(1, 1).Value = "单元格值"; ``` ##### 4. 保存Excel文档 保存Excel文档时同样需要注意路径的正确书写。 ...

    如何使用js 打开并设置excel某些单元格的格式例子

    在本例中,我们将使用ActiveX控件来控制Excel。 - **Excel.Application对象**:这是Excel的核心对象,通过它我们可以访问Excel的各种属性和方法,从而实现对Excel文件的操作。 #### 实现步骤 1. **检查浏览器兼容性...

    JS获取Excel数据并显示到页面(IE)

    1. **使用ActiveXObject(IE专属)**:在Internet Explorer浏览器中,可以利用ActiveXObject接口来访问本地文件系统,例如创建一个`ActiveXObject("Excel.Application")`实例来操作Excel。这种方法是IE特有的,其他...

    javascript 生成excel.doc

    JavaScript 可以使用 ActiveXObject 来生成 Excel 文档,下面是详细的知识点: 1. 创建 Excel 应用程序对象 使用 `var XLObj = new ActiveXObject("Excel.Application");` 创建 Excel 应用程序对象。 2. 新建工作...

    JavaScript HTML内容导出Excel兼容所有浏览器

    在JavaScript和HTML中导出内容至Excel是一种常见的需求,尤其在数据分析、报表生成等领域。由于浏览器之间的兼容性差异,实现这一功能需要采取不同的策略。本文将深入探讨如何使用JavaScript和HTML来实现一个兼容...

    WEB页面导出为WORD、EXCEL文档的方法(源代码)

    本文将详细介绍如何使用 ASP 语言将 WEB 页面导出为 WORD、EXCEL 文档,包括使用 JavaScript 语言将表格内容导出到 EXCEL 文档中,并使用 ActiveXObject 对象来实现 WORD 文档的导出。 首先,在 HTML 代码中,我们...

    JS操作Word和Excel的方法

    总结来说,JS操作Word和Excel的方法主要包括使用ActiveXObject(主要在IE环境下)以及利用Office.js等现代Web API。这些技术可以帮助开发者实现网页内容导出到Word、生成定制的Word文档,以及对Excel表格的数据操作...

    Js操作Excel常用方法.pdf

    特别是当操作涉及大量数据或者在客户端脚本中使用时,性能可能会受到显著影响,并且在不同用户浏览器和操作系统中可能存在兼容性问题。 由于原始内容中存在一些OCR扫描错误和不完整的代码,我们应当在实际编码过程...

    js导出excel的方法

    6. **粘贴到Excel**:在Excel中调用`Paste`方法将之前复制的内容粘贴到工作表中。 7. **显示Excel**:设置`Visible`属性为`true`使Excel窗口可见。 #### 方法二:逐个单元格填充(兼容性更好) 这种方法同样依赖于...

    用javascript实现把表格内容导出到excel和把excel里面内容导入表格的方法.docx

    请注意,由于此方法依赖于ActiveXObject,因此只能在IE浏览器中工作。其他浏览器可能需要使用不同的库,如`xlsx`或`js-xlsx`来实现相同的功能。 其次,我们来看如何使用JavaScript将表格内容导出到Excel。这个过程...

    table导出excel(JS法-所见即所得)

    Table导出Excel(JS法-所见即所得) 本文将详细介绍如何使用...这种方法可以实现快速导出表格数据到Excel文件中。 本文详细介绍了如何使用JavaScript实现将HTML表格导出为Excel文件,并对相关技术进行了详细解释。

    javascript 操作Word和Excel的实现代码.docx

    虽然题目中没有具体提到如何使用JavaScript操作Excel文档,但在实际应用中,通常可以通过Microsoft Office提供的OLE自动化或者第三方库如`SheetJS`来实现。这里提供一个简单的示例,展示如何使用`SheetJS`库将JSON...

Global site tag (gtag.js) - Google Analytics