彩票走势图

JavaScript中的ActiveXObject控制Excel的方法

转帖|其它|编辑:郝浩|2011-09-01 15:14:53.000|阅读 2892 次

概述:本文主要介绍 JavaScript中的ActiveXObject控制Excel的方法,希望对大家有帮助。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

使用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();&quot;,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("复制成功!")

}

}


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn

文章转载自:博客园

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP