JS 导出Web Table到Excel Demo(最简单)

来源:互联网 发布:淘宝卖家层级交易额 编辑:程序博客网 时间:2024/05/17 10:54

1. 创建一个web项目

2. 创建一个JSP页面

3. 把下面的代码放入页面

4. 把IE的安全选项的前三个区域(Internet,本地Intranet,受信任的站点)中的ActiveX的应用全部启用。

5. 运行你创建的项目就可以测试了。

<%@ page language="java" contentType="text/html; charset=utf-8"pageEncoding="utf-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>Insert title here</title><SCRIPT LANGUAGE="javascript">function ExcelExport(tableid) {//alert(tableid);var table = document.getElementById(tableid); //获取页面的table   var excel = new ActiveXObject("Excel.Application"); //实例化Excel.Application对象   //alert(tableid);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></head><body><input type="button" onclick="ExcelExport('tb_demo');" value="导出Excel"/><table id="tb_demo" border="1"><tr><td>序号</td><td>名称</td><td>属性</td><td>标准</td><td>备注</td></tr><tr><td>1</td><td>name</td><td>property</td><td>standard</td><td>remark</td></tr><tr><td>2</td><td>name2</td><td>property2</td><td>standard2</td><td>remark2</td></tr><tr><td>3</td><td>name3</td><td>property3</td><td>standard3</td><td>remark3</td></tr></table></body></html>

ps:据说这种用法对于大型项目来说不太好,存在线程安全问题。

但是如果是做简单的导出,要求不高的话,可以借鉴。


原创粉丝点击