javascript 操作 excel 全攻略
最近做一个项目,用到了javascript操纵excel以生成报表,下面是标有详细注解的实例
<html>
<head>
<script language="javascript" type="text/javascript">
</script><script language="javascript" type="text/javascript">
function MakeExcel(){
var i,j;
try {
var xls = new ActiveXObject ( "Excel.Application" );
}
catch(e) {
alert( "要打印该表,您必须安装Excel电子表格软件,同时浏览器须使用“ActiveX 控件”,您的浏览器须允许执行控件。 请点击【帮助】了解浏览器设置方法!");
return "";
}
xls.visible =true; //设置excel为可见
var xlBook = xls.Workbooks.Add;
var xlsheet = xlBook.Worksheets(1);
<!--合并-->
xlsheet.Range(xlsheet.Cells(1,1),xlsheet.Cells(1,7)).mergecells=true;
xlsheet.Range(xlsheet.Cells(1,1),xlsheet.Cells(1,7)).value="发卡记录";
// xlsheet.Range(xlsheet.Cells(1,1),xlsheet.Cells(1,6)).Interior.ColorIndex=5;//设置底色为蓝色
// xlsheet.Range(xlsheet.Cells(1,1),xlsheet.Cells(1,6)).Font.ColorIndex=4;//设置字体色
// xlsheet.Rows(1). Interior .ColorIndex = 5 ;//设置底色为蓝色 设置背景色 Rows(1).Font.ColorIndex=4
<!--设置行高-->
xlsheet.Rows(1).RowHeight = 25;
<!--设置字体 ws.Range(ws.Cells(i0+1,j0), ws.Cells(i0+1,j1)).Font.Size = 13 -->
xlsheet.Rows(1).Font.Size=14;
<!--设置字体 设置选定区的字体 xlsheet.Range(xlsheet.Cells(i0,j0), ws.Cells(i0,j0)).Font.Name = "黑体" -->
xlsheet.Rows(1).Font.Name="黑体";
<!--设置列宽 xlsheet.Columns(2)=14;-->
xlsheet.Columns("A:D").ColumnWidth =18;
<!--设置显示字符而不是数字-->
xlsheet.Columns(2).NumberFormatLocal="@";
xlsheet.Columns(7).NumberFormatLocal="@";
//设置单元格内容自动换行 range.WrapText = true ;
//设置单元格内容水平对齐方式 range.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;//设置单元格内容竖直堆砌方式
//range.VerticalAlignment=Excel.XlVAlign.xlVAlignCenter
//range.WrapText = true; xlsheet.Rows(3).WrapText=true 自动换行
//设置标题栏
xlsheet.Cells(2,1).Value="卡号";
xlsheet.Cells(2,2).Value="密码";
xlsheet.Cells(2,3).Value="计费方式";
xlsheet.Cells(2,4).Value="有效天数";
xlsheet.Cells(2,5).Value="金额";
xlsheet.Cells(2,6).Value="所属服务项目";
xlsheet.Cells(2,7).Value="发卡时间";
var oTable=document.all['fors:data'];
var rowNum=oTable.rows.length;
for(i=2;i<=rowNum;i++){
for (j=1;j<=7;j++){
//html table类容写到excel
xlsheet.Cells(i+1,j).Value=oTable.rows(i-1).cells(j-1).innerHTML;
}
}
<!-- xlsheet.Range(xls.Cells(i+4,2),xls.Cells(rowNum,4)).Merge; -->
// xlsheet.Range(xlsheet.Cells(i, 4), xlsheet.Cells(i-1, 6)).BorderAround , 4
// for(mn=1,mn<=6;mn++) . xlsheet.Range(xlsheet.Cells(1, mn), xlsheet.Cells(i1, j)).Columns.AutoFit;
xlsheet.Columns.AutoFit;
xlsheet.Range( xlsheet.Cells(1,1),xlsheet.Cells(rowNum+1,7)).HorizontalAlignment =-4108;//居中
xlsheet.Range( xlsheet.Cells(1,1),xlsheet.Cells(1,7)).VerticalAlignment =-4108;
xlsheet.Range( xlsheet.Cells(2,1),xlsheet.Cells(rowNum+1,7)).Font.Size=10;
xlsheet.Range( xlsheet.Cells(2,1),xlsheet.Cells(rowNum+1,7)).Borders(3).Weight = 2; //设置左边距
xlsheet.Range( xlsheet.Cells(2,1),xlsheet.Cells(rowNum+1,7)).Borders(4).Weight = 2;//设置右边距
xlsheet.Range( xlsheet.Cells(2,1),xlsheet.Cells(rowNum+1,7)).Borders(1).Weight = 2;//设置顶边距
xlsheet.Range( xlsheet.Cells(2,1),xlsheet.Cells(rowNum+1,7)).Borders(2).Weight = 2;//设置底边距
xls.UserControl = true; //很重要,不能省略,不然会出问题 意思是excel交由用户控制
xls=null;
xlBook=null;
xlsheet=null;
}
</script> <link href="css/styles3.css" rel="stylesheet" type="text/css"/>
<title>ziyuanweihu</title>
</head>
<body>
<form id="fors" method="post" action="/WebModule/admins/card/showcard.faces" enctype="application/x-www-form-urlencoded">
<table id="fors:top" border="0" cellpadding="0" cellspacing="0" width="100%">
<tbody>
<tr>
<td class="left"><img src="images/jiao1.gif" alt="" /></td>
<td class="topMiddle"></td>
<td class="right"><img src="images/jiao2.gif" alt="" /></td>
</tr>
</tbody>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tbody>
<tr>
<td class="middleLeft"></td>
<td class="btstyle"><table id="fors:sort" border="0" cellpadding="0" cellspacing="0" style="valign:center" width="100%">
<tbody>
<tr>
<td class="btstyle"><input type="button" name="fors:_id7" value="生成excel文件" onclick="MakeExcel()" /><input type="submit" name="fors:_id8" value="返回" /></td>
</tr>
</tbody>
</table>
<table id="fors:data" border="1" cellpadding="0" cellspacing="1" width="100%">
<thead>
<tr>
<th scope="col"><span id="fors:data:headerText1">卡号</span></th>
<th scope="col"><span id="fors:data:headerText2">密码</span></th>
<th scope="col"><span id="fors:data:headerText3">计费方式</span></th>
<th scope="col"><span id="fors:data:headerText4">有效天数</span></th>
<th scope="col">金额</th>
<th scope="col"><span id="fors:data:headerText6">所属服务项目</span></th>
<th scope="col"><span id="fors:data:headerText7">发卡时间</span></th>
</tr>
</thead>
<tbody>
<tr>
<td>h000010010</td>
<td>543860</td>
<td>计点</td>
<td></td>
<td>2.0</td>
<td>测试项目</td>
<td>2006-06-23 10:14:40.843</td>
</tr>
<tr>
<td>h000010011</td>
<td>683352</td>
<td>计点</td>
<td></td>
<td>2.0</td>
<td>测试项目</td>
<td>2006-06-23 10:14:40.843</td>
</tr>
<tr>
<td>h000010012</td>
<td>433215</td>
<td>计点</td>
<td></td>
<td>2.0</td>
<td>测试项目</td>
<td>2006-06-23 10:14:40.843</td>
</tr>
<tr>
<td>h000010013</td>
<td>393899</td>
<td>计点</td>
<td></td>
<td>2.0</td>
<td>测试项目</td>
<td>2006-06-23 10:14:40.843</td>
</tr>
<tr>
<td>h000010014</td>
<td>031736</td>
<td>计点</td>
<td></td>
<td>2.0</td>
<td>测试项目</td>
<td>2006-06-23 10:14:40.843</td>
</tr>
<tr>
<td>h000010015</td>
<td>188600</td>
<td>计点</td>
<td></td>
<td>2.0</td>
<td>测试项目</td>
<td>2006-06-23 10:14:40.843</td>
</tr>
<tr>
<td>h000010016</td>
<td>363407</td>
<td>计点</td>
<td></td>
<td>2.0</td>
<td>测试项目</td>
<td>2006-06-23 10:14:40.843</td>
</tr>
<tr>
<td>h000010017</td>
<td>175315</td>
<td>计点</td>
<td></td>
<td>2.0</td>
<td>测试项目</td>
<td>2006-06-23 10:14:40.843</td>
</tr>
<tr>
<td>h000010018</td>
<td>354437</td>
<td>计点</td>
<td></td>
<td>2.0</td>
<td>测试项目</td>
<td>2006-06-23 10:14:40.843</td>
</tr>
<tr>
<td>h000010019</td>
<td>234750</td>
<td>计点</td>
<td></td>
<td>2.0</td>
<td>测试项目</td>
<td>2006-06-23 10:14:40.843</td>
</tr>
</tbody>
</table>
</td>
<td class="middleRight"></td>
</tr>
</tbody>
</table>
<table id="fors:bottom" border="0" cellpadding="0" cellspacing="0" width="100%">
<tbody>
<tr>
<td class="left">
<img src="images/jiao3.gif" alt=""/>
</td>
<td class="bottomMiddle"> </td>
<td class="right">
<img src="images/jiao4.gif" alt=""/>
</td>
</tr>
</tbody>
</table>
<input type="hidden" name="fors" value="fors" /></form>
</body>
</html>
发表评论
-
dssddssdsdsd
2014-07-02 17:22 838登录不要刷新发布文章没有判断内容是否为空您正在使用低版本浏览 ... -
hello
2014-07-02 17:22 736登录不要刷新发布文章没有判断内容是否为空您正在使用低版本浏览 ... -
用js获取后台返回的List对象
2013-05-17 10:59 1743function getEquimentType(){ ... -
Calendar注意
2013-03-27 19:41 848public static void main(String ... -
如何判断一个点是否在不规则图形内部?
2012-09-26 09:46 6011网上查了下,有办法是说连接目标点与各顶点,然后算夹角,加起来为 ... -
界面设计工具UIDesigner或者GUI
2012-09-19 16:14 627UI Designer,http://uid.cdc.t ... -
poi数据有效性(下拉列表)
2012-08-28 12:14 3158版本poi3.8 public class Test ... -
oracle
2012-05-23 22:45 749oracle -
项目部署至tomcat,访问地址不需要工程名 直接就是个ip地址
2012-04-10 15:17 1623在正常情况下我们访问项目连接都带工程名,如http://192 ... -
struts1
2011-08-02 07:34 851个人struts1 -
spring bean 范围
2011-05-19 21:07 784<bean id="bean1" c ... -
内存分析
2011-05-19 17:50 813CastorMarshaller -
推荐好的软件
2011-05-09 16:31 860类似windows的资源管理器:CubicExplorer.e ... -
多个包应用事务
2011-03-16 22:45 1020<aop:config><aop:advis ... -
spring切面
2011-03-16 22:32 771<!-- [if gte mso 9]><x ... -
ext 事件
2011-03-02 00:17 886function btnClick(button,e){ ... -
extjs分页添加pagesize
2011-02-22 22:17 3772var tool_bar_1 = new Ext.Pagin ... -
Extjs分页添加每页显示条数
2011-02-22 21:57 5784PagingToolbar 设置每页条数 ... -
springmvc配置
2011-02-21 00:11 887<servlet> &l ... -
springmvc注解
2011-02-21 00:10 1197@Controller @RequestMapping(&q ...
相关推荐
js操作Excel的类库js操作Excel的类库js操作Excel的类库js操作Excel的类库js操作Excel的类库js操作Excel的类库js操作Excel的类库js操作Excel的类库js操作Excel的类库js操作Excel的类库
JavaScript 操作 Excel JavaScript 操作 Excel 是指使用 JavaScript 语言来操作和控制 Excel 应用程序。通过使用 ActiveXObject 对象,可以在客户端操作 Excel 文件,而不需要访问服务器端。 在使用 JavaScript ...
在这个“JavaScript操作Excel_Demo.zip”压缩包中,包含了一个名为“xlsx.full.min.js”的插件,它是XLSX库的一个版本,用于读取和写入CSV、XLS、XLSX等多种格式的电子表格文件。这个库基于JSON,使得在JavaScript...
在介绍JavaScript操作Excel的常用方法之前,首先要明确一点,这些操作通常是借助COM自动化技术(如ActiveX对象)来实现的,因为这涉及到直接与Excel应用程序的接口交互。然而,需要注意的是,这种做法主要适用于...
Js操作Excel,更多功能自己改进!
在IT行业中,JavaScript(简称JS)是一种广泛使用的前端编程语言,它主要负责...了解这些知识点后,开发人员可以根据实际需求,结合提供的HTML文件学习和实践JavaScript操作Excel的技巧,从而实现高效的数据导出功能。
在JavaScript(js)中操作Excel文件,通常是为了在网页端实现数据导入导出或数据分析功能。这个"js操作excel demo"示例旨在演示如何利用JavaScript读取本地的2003版Excel文件(XLS格式)。以下是这个示例中可能涉及...
实现javascript操作Excel进行报表输出的javabean接口类,通过调用bean的方法快速生成客户端的javascript来操作Excel,实现读取Excel模板,添加记录,打印设置,打印预览,自动保存文件等功能,本人多年的web开发经验...
【JavaScript操作Excel生成报表】 在IT领域,有时候我们需要在网页端生成报表并导出为Excel格式,以便用户能够方便地下载和分析数据。JavaScript是一种常用的客户端脚本语言,虽然它通常用于网页交互,但通过特定的...
前台js操作excel文件的包
js导入excel表格或者导出为excel格式,用到的js文件xlsx.full.min.js资源
首先,关于“js操作Excel”,JavaScript通常不直接支持与Excel文件进行交互,因为它运行在浏览器环境中,无法访问本地文件系统。然而,通过一些库和API,我们可以实现类似的功能。例如,`xlsx`库是一个流行的...
JavaScript是前端开发的主要语言,而js-xlsx是一个强大的开源库,专门为JavaScript设计,用于处理Excel文件。这个库允许开发者在不依赖服务器的情况下读取、写入和转换Excel数据,极大地扩展了前端处理复杂数据的...
JavaScript 使用ActiveX实现在Excel文件中插入图片
虽然题目和描述中没有具体提及Excel文档的操作,但我们可以基于Word文档操作的基础之上,介绍如何使用JavaScript操作Excel文档。 ##### 1. 创建Excel对象 创建Excel对象的方式与创建Word对象类似,都是通过`...
对于Microsoft Edge和IE浏览器,可以利用`OfficeJS`库直接操作Excel在线版。这需要用户有Office 365订阅,并在支持的浏览器中运行。 ```javascript // 引入OfficeJS库 import * as Office from 'office-js'; ...
### JavaScript 操作 Excel 的知识点详解 #### 一、概述 ...综上所述,通过JavaScript操作Excel是一个实用的功能,但需要注意兼容性和安全性问题。开发者应该根据实际情况选择合适的技术栈来实现这一需求。
SheetJS 是一个强大的开源库,专门用于在JavaScript环境中读取、写入和操作Excel文件(XLSX 和 XLSM 格式)。这个库被称为 `js-xlsx`,它的核心功能在于允许用户在浏览器端离线处理Excel数据,极大地减少了与服务器...