Excel.Application
来源:互联网 发布:201年10月淘宝申请小号 编辑:程序博客网 时间:2024/05/22 09:20
2010-01-08 14:05:02| 分类:Js | 标签:|字号大中小 订阅
第一种:逐个单元格导出法(此方法操作相对复杂,但是比较灵和,适合对导出表有要求的情况)
javas
<SCRIPT LANGUAGE="javas
function ExcelExport(tableid)
{
var table = document.getElementById(tableid); //获取页面的table
var excel = new ActiveXObject("Excel.Application"); //实例化Excel.Application对象
var workB = excel.Workbooks.Add(); ////添加新的工作簿
var sheet = workB.ActiveSheet;
//var sheet= workB.Worksheets(1);//该句代码和上句代码同意,都是激活一个sheet
/***************常用样式设置语句***************************************/
//sheet.Rows(1).WrapText = false; //自动换行设置
//sheet.Rows(1).Font.Size=18;//设置第一行的字体大小
//sheet.Rows(1).Interior.ColorIndex=2;//设置第一行背景色
//sheet.Rows(1).Font.ColorIndex=1;//设置第一行字体色
//sheet.Range(sheet.Cells(1,1),sheet.Cells(1,7)).mergecells=true;//第一行1到7单元格合并
sheet.Columns("A").ColumnWidth =35;//设置列宽
sheet.Columns("B").ColumnWidth =35;
//sheet.Columns("A:B").ColumnWidth =35;//另一种设置列宽的方式
sheet.Rows(1).RowHeight = 35;//设置行高
//sheet.Rows(1).Font.Name="黑体";//设置字体
//sheet.Columns.AutoFit;//所有列自适应宽度
//水平对齐方式(貌似-4108为水平居中)
//sheet.Range( sheet.Cells(1,1),sheet.Cells(1,5)).HorizontalAlignment =-4108;
//垂直对齐方式
//sheet.Range( sheet.Cells(1,1),sheet.Cells(1,5)).VerticalAlignment =-4108;
//根据Borders()中参数值设置各个方向边距,1,2,3,4--->top,buttom,left,right
//sheet.Range( sheet.Cells(2,1),sheet.Cells(1,5)).Borders(1).Weight = 2;
/**将页面table写入到Excel中,具体复杂情况(合并单元格等)可在这里面具体操作**********/
var LenRow = table .rows.length; //以下为循环遍历获取页面table的cell元素
for (i = 0; i < LenRow ; i++)
{
var lenCol = table.rows(i).cells.length;
for (j = 0; j < lenCol ; j++)
{
sheet.Cells(i + 1, j + 1).value = table.rows(i).cells(j).innerText; //通过该语句将table的每个
//cell赋予Excel 当前Active的sheet下的相应的cell下
}
}
excel.Visible = true;//设置excel为可见
excel.UserControl = true; //将Excel交由用户控制
}
</SCRIPT>
javas
<SCRIPT LANGUAGE="javas
function ExcelExport(tableid)
{
var table = document.getElementById(tableid); //获取页面的table
var excel = new ActiveXObject("Excel.Application"); //实例化Excel.Application对象
var workB = excel.Workbooks.Add(); ////添加新的工作簿
var sheet = workB.ActiveSheet;
//var sheet= workB.Worksheets(1);//该句代码和上句代码同意,都是激活一个sheet
/***************常用样式设置语句***************************************/
//sheet.Rows(1).WrapText = false; //自动换行设置
//sheet.Rows(1).Font.Size=18;//设置第一行的字体大小
//sheet.Rows(1).Interior.ColorIndex=2;//设置第一行背景色
//sheet.Rows(1).Font.ColorIndex=1;//设置第一行字体色
//sheet.Range(sheet.Cells(1,1),sheet.Cells(1,7)).mergecells=true;//第一行1到7单元格合并
sheet.Columns("A").ColumnWidth =35;//设置列宽
sheet.Columns("B").ColumnWidth =35;
//sheet.Columns("A:B").ColumnWidth =35;//另一种设置列宽的方式
sheet.Rows(1).RowHeight = 35;//设置行高
//sheet.Rows(1).Font.Name="黑体";//设置字体
//sheet.Columns.AutoFit;//所有列自适应宽度
//水平对齐方式(貌似-4108为水平居中)
//sheet.Range( sheet.Cells(1,1),sheet.Cells(1,5)).HorizontalAlignment =-4108;
//垂直对齐方式
//sheet.Range( sheet.Cells(1,1),sheet.Cells(1,5)).VerticalAlignment =-4108;
//根据Borders()中参数值设置各个方向边距,1,2,3,4--->top,buttom,left,right
//sheet.Range( sheet.Cells(2,1),sheet.Cells(1,5)).Borders(1).Weight = 2;
/**将页面table写入到Excel中,具体复杂情况(合并单元格等)可在这里面具体操作**********/
var LenRow = table .rows.length; //以下为循环遍历获取页面table的cell元素
for (i = 0; i < LenRow ; i++)
{
var lenCol = table.rows(i).cells.length;
for (j = 0; j < lenCol ; j++)
{
sheet.Cells(i + 1, j + 1).value = table.rows(i).cells(j).innerText; //通过该语句将table的每个
//cell赋予Excel 当前Active的sheet下的相应的cell下
}
}
excel.Visible = true;//设置excel为可见
excel.UserControl = true; //将Excel交由用户控制
}
</SCRIPT>
第二种方法:整体拷贝法(该方法以较少代码实现Excel数据的导出,但是导出数据格式可能存在样式和页面不一致情况,甚至像背景色等会出现错位,而且如果在html页面中对需要导出的table样式做过设置的话,此处部分样式设置可能不会起作用)
<SCRIPT LANGUAGE="javas
function ExcelExport(tableid)
{
var table = document.getElementById(tableid);
var ax =new ActiveXObject("Excel.Application");
var workbook = oXL.Workbooks.Add();
var sheet = workbook.ActiveSheet;
var sel = document.body.createTextRange();
//把table中的数据移到sel中
sel.moveToElementText(table);
sel.select(); //选中sel中所有数据
sel.execCommand("Copy");//复制sel中的数据
sheet.Columns("A").ColumnWidth =35;//设置列宽
sheet.Columns("B").ColumnWidth =35;
sheet.Rows(1).RowHeight = 35;//设置表头高
//将sel中数据拷贝到sheet工作薄中
sheet.Paste();
ax.Visible = true;
//通过打印机直接将Excel数据打印出来
sheet.Printout;
ax.UserControl = true;
}
</SCRIPT>
- Excel.Application
- Excel.Application 导出Excel
- Excel.Application组件研究
- Application操纵Excel
- vb excel.application
- Excel.Application手册
- 导出Excel (application方法)
- Excel.Application使用手册
- Excel.Application手册
- Excel.Application使用手册
- Excel VBA - Application对象
- Excel.Application使用手册
- [资料]Excel.application使用手册
- Excel.Application使用手册
- Excel.Application使用手册(API)
- Excel.Application使用手册
- WEB表格通过Excel.Application导入excel.
- excel.CreateDispatch(_T( Excel.Application ))失败
- RMAN Crosscheck 和 Delete 命令的2个实例
- Archlinux2013-07没有/arch/setup的AIF,新安装方式。
- C# ActiveX 开发时反序列化化提示找不到DLL解决方法
- 总结showModalDialog在开发中的一些问题
- const int *p 和 int* const p 的区别详解
- Excel.Application
- 程序设置横屏后,锁屏时会被销毁一遍,解锁时又重新加载onCreate的问题解决
- 继承galary
- 1
- android 事件模型原理
- 类作用域与命名空间续-----留有后续疑问
- 用ffmpeg抽取yuv数据
- Android仿Metro的界面设计
- java去空格换行符