`
zgqynx
  • 浏览: 1340829 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

js中excel的用法

阅读更多
有困难,找猪八戒
转载自:
http://hi.baidu.com/lionfoo/blog/item/757e173321f19efd1a4cffbd.html
另外:查看这个资源也不错
http://kuangbaoxu.iteye.com/blog/193311

-----------------------------
my addition:
1、设置日期 年月日
oSheet.Cells(x,y).NumberFormat = 'yyyy-m-d';
http://stackoverflow.com/questions/380100/how-to-customize-date-format-when-creating-excel-cells-through-javascript-active

2、设置单元格内容根据内容大小显示
XlSheet.columns.autofit;
http://lists.evolt.org/pipermail/javascript/2006-November/011477.html
http://www.webdeveloper.com/forum/showthread.php?t=187527


-------------------------------

事例1
<SCRIPT LANGUAGE='JavaScript'>  
<!--  
var xlCenter=-4108;
var xlbottom=-4107;
var xlRight=-4152;
var oSheet;
var oActiveSheet;
var oApplication;
try { //初始化Excel对象
    oApplication     = new ActiveXObject ( 'Excel.Application' );
    }catch(e){
alert('您必须安装Excel电子表格软件,同时浏览器须使用“ActiveX 控件”!');
return '';
}       
oApplication.visible = true;       
var xlBook = oApplication.Workbooks.Add;
oActiveSheet = xlBook.Worksheets(1);
oActiveSheet.Rows('1:1').RowHeight = 30;//设置行高
oActiveSheet.Columns('A:A').ColumnWidth = 8;//设置列宽
oActiveSheet.Cells(4,1).FormulaR1C1='日   期'; //设置单元格的内容第4行第1列
oActiveSheet.Range('A2:G2').Select();//单元格选择
//另外一种高级的选择方法
oActiveSheet.Range(oActiveSheet.cells(5,3),oActiveSheet.Cells(6,4)).Select;
oApplication.Selection.Font.Size=15;//设置文字格式
oApplication.Selection.Font.bold= true
oApplication.Selection.Font.Name='宋体';
oApplication.Selection.Merge();//合并选取的单元格
//设置选取单元格的垂直对齐和水平对齐
oApplication.Selection.HorizontalAlignment = xlCenter;
oApplication.Selection.VerticalAlignment = xlCenter;
//注意,对selection的操作都适用于cells
oApplication.Selection.WrapText=true;//设置自动换行
//-->
</SCRIPT>

事例2 使用js操作本地或远程的excel
<html><head><title>Excel Test</title>
<script language="javascript">
function readEx() {
var ExcelSheet ;
var wb;
try {
   ExcelSheet      = new ActiveXObject("Excel.Application");
   alert(ExcelSheet .Version);
   wb = ExcelSheet.Workbooks.open("http://10.1.1.143:8080/canon_sample/data/test.xls");
   var objsheet =   wb.Worksheets("Sheet1");
   var v = objsheet.cells(1,1);
   alert("cells(1,1) = " + v);
   ExcelSheet.Save();
// read end   使EXCEL窗口可见
   ExcelSheet.Visible = true;
} catch(e) {
if (ExcelSheet != undefined){
   alert('Error happened : ' + e);
   ExcelSheet.Quit();
}
   return '';
}
}
function writeEx() {
var ExcelSheet ;
var wb;
try {
   ExcelSheet      = new ActiveXObject("Excel.Application");
   ExcelSheet.Visible = true;
   ExcelSheet.Workbooks.Add();
   ExcelSheet.ActiveSheet.Cells(1,1).Value = "This is column A, row 1";
   ExcelSheet.SaveAs("c:\\TEST.XLS");
   ExcelSheet.Quit();
}
catch(e) {
     if (ExcelSheet != undefined){
   alert('Error happened : ' + e);
   ExcelSheet.Quit();
}
   return '';
}
}
</script>
</head>
<body>
<b>
Excel Test
</b>
<br><br>
<input type="button" onclick="readEx();" value=" Read "/>
<input type="button" onclick="writeEx();" value=" Write "/>
</body>
</html>

事例3
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;//设置底边距
//设置单元格内容自动换行 range.WrapText   =   true   ;
//设置单元格内容水平对齐方式
range.HorizontalAlignment   =   Excel.XlHAlign.xlHAlignCenter;
//设置单元格内容竖直堆砌方式
   range.VerticalAlignment=Excel.XlVAlign.xlVAlignCenter
   ange.WrapText   =   true;
   xlsheet.Rows(3).WrapText=true   自动换行
   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 = 30;
<!--设置字体 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="Verdana";
<!--设置列宽 xlsheet.Columns(2)=14;-->
xlsheet.Columns("A:D").ColumnWidth =18;
xls.UserControl = true;   //很重要,不能省略,不然会出问题 意思是excel交由用户控制

事例4
//拷贝
var elTable = document.getElementById("data_table");
var oRangeRef = document.body.createTextRange();
oRangeRef.moveToElementText( elTable );
oRangeRef.execCommand( "Copy" );

//粘贴
try{
var appExcel = new ActiveXObject( "Excel.Application" );
appExcel.Visible = true;
appExcel.Workbooks.Add().Worksheets.Item(1).Paste();
//appExcel = null;
}catch(e){
alert("使用此功能必须在浏览器中设置:Internet选项->安全->将本站加入“受信任的站点”。");
}

有困难,找猪八戒
分享到:
评论
1 楼 zenmshuo 2016-09-13  
如果使用SpreadJS这一类的表格工具,应该能更好的实现这些功能

相关推荐

    js读取excel表格的js文件

    js读取excel表格的js文件,js读取excel表格的js文件,js读取excel表格的js文件,js读取excel表格的js文件,

    xlsx.full.min.js官方工具包用于js读取excel使用

    JavaScript 技术篇 - js读取Excel文档里的内容实例演示,js如何读取excel指定单元格的内容,js将excel的内容转化为json字符串方法:https://blog.csdn.net/qq_38161040/article/details/118678016

    jquery.table2excel.js 一键生成Excel表格

    jquery.table2excel.js 可一键生成Excel表格,需要jQuery.js支持 详细使用方法可见我的博客 https://blog.csdn.net/weixin_42571089/article/details/108799543

    wps-excel办公+JS宏编程教程基础到进阶+函数使用手册

    内容概要:主要讲解JS代码实现excel宏编程,从基础到进阶,另外也可作为函数查找手册用,或者帮助文档用;使用JS代码宏编程的优势就是运行快、代码简单易上手、且由于代码提示作用使得代码编写极快。提高工作效率。 ...

    JS操作Word和Excel的方法

    JS操作Word和Excel的方法.用JS生成WORD,遍历导出到word,操作excel,导出到office2000版本的word或excel中.

    js实现Excel导出

    最近在做一个项目,涉及到导出数据到Excel表格,由于是采用的前后端分离模式开发的,之前常用的方法已经失效,在网上找了一些资料和方法,已经完成整理,都能正常使用

    jquery.table2excel.js

    jquery.table2excel.js,一款挺好用的javascript导出插件,需要jquery-1.7.1.min.js的支持。使用方法: &lt;script type="text/javascript"&gt; $(document).ready(function() { //导出excel $("#output").click...

    UNI-Excel插件

    使用UNI-Excel،,您...有些方法无法创建Excel文件,有些方法无法编辑Excel文件,有些方法无法读取Excel文件,有些方法无法在构建中工作 但是使用“Uni-Excel”包,您在创建、编辑和读取Excel文件方面没有任何问题。

    js 下载excel

    js 导出excel 插件,代码直接用,用法可以看我的博客很简单。 http://blog.csdn.net/webxiaoma/article/details/72783170

    Nodejs技巧之Exceljs表格操作用法示例

    主要介绍了Nodejs技巧之Exceljs表格操作用法,结合实例形式分析了node.js使用Exceljs操作Excel表格的载人、获取、遍历、输出等相关实现技巧,需要的朋友可以参考下

    基于js-xlsx的前端excel导入导出工具

    在需要使用的地方导入方法: ```javascript import { importExcel, exportExcel } from '@/util/excel' ``` 导入excel并转化为JSON: ```javascript // file: excel文件 // keys: 数组 excel每个列在JSON里对应的key,...

    ajax原生方法实现导出excel

    后端(如 springboot)直接返回excel的输出流到前端,前端使用 该方法(js原生ajax)进行接收并实现页面的下载

    javascript将表格导出到Excel

    提供了导出Excel的方法,其中第三种方法使用了javascript的SaveAs命令,但在IE7下被禁用,使用压缩包中的id7_saveas.exe打上补丁后就可以用了。

    easyui datagrid 数据导出到Excel

    两种方法将easyui datagrid 中的数据导出到Excel中,均以验证可以正常使用

    html页面表格导出excel(原生js浏览器全兼容)

    如果后台不提供导出excel表格的接口,那么我们js有自己的方法可以支持。操作简单,可封装。完全抛弃后台,自己展示,自己导出,非常实用,资源内包含demo,一目了然。(原生js浏览器全兼容)

    Formula.js:大多数Microsoft Excel公式函数JavaScript实现

    包括以下内容,以便在浏览器中使用Formula.js: &lt;!-- Numeric --&gt; &lt; script src =" https://cdnjs.cloudflare.com/ajax/libs/numeric/1.2.6/numeric.min.js " &gt; &lt;/ script &gt; &lt;!-- Numeral.js...

    html中的内容直接下载到excel中,替换 document.execCommand(‘saveAs’)方法

    html中的内容直接下载到excel中的demo,替换 document.execCommand(‘saveAs’)方法

    大数据 Excel 通过 Kettle 进行数据清洗

    大数据Excel通过Kettle 穿插javascript进行数据清洗 在将数据导入Excel里

    vue.js实现excel和图片的导入

    一开始考虑的是将图片插入excel中,这样的好处是一一对应,不会出错,但是搜索了关于图片的插入,还是比较复杂的,对用户来说不太现实。 最后我将excel和图片分开导入,使用图片名来对应字段,效果还可以,下面附上...

Global site tag (gtag.js) - Google Analytics