js操作Excel,js导出Excel,如同vba操作Excel(对ie8及其以上浏览器)

js操作操作Excel的方法,
如同vba 操作Excel一样;
Excel环境:目标电脑上有安装Excel 2003及其以上,
windows环境:win7及其以上;
浏览器环境:ie8及其以上;
其它:如属性vb(vba)、c#对office开发的更容易懂。
一下就 js操作Excel 和 vba操作Excel形成对比
如果导出的数据量很大很大的,我就没有测试了。

 <!DOCTYPE html>

<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8" />
    <title></title>
    <script>
        //模拟的json数据,二维结构
        var rjson = "";
        rjson = [
            ["序号", "用户编码", "资产名称", "型号", "资产类别名称", "使用部门", "使用人", "存放地点", "使用状态"],
            [1, "020150126", "电脑", "联想扬天t4900v", "台式机", "销售部", "张三", "2003室", "在用"],
            [2, "01103414", "办公椅", "黑皮", "椅凳类", "销售部", "张三", "2003室", "在用"],
            [3, "01104760", "地柜", "白色三抽屉", "文件柜", "销售部", "张三", "2003室", "在用"],
            [4, "2017000058", "笔记本电脑", "e31-8023", "便携式计算机", "销售部", "张三", "2003室", "在用"],
            [5, "2017000433", "书柜", "", "文件柜", "销售部", "张三", "2003室", "在用"],
            [6, "2017000406", "办公桌", "", "台、桌类", "销售部", "张三", "2003室", "在用"]
        ]


        var sh = eBook.ActiveSheet;//取活动工作表

        var row1 = rjson.length;//json数据的长度(行)
        var col1 = rjson[0].length;//json数据的子数据的长度(列)

        //创建ExcelApplication对象
        var excelApp = new ActiveXObject("Excel.Application");
        var eBook = excelApp.Workbooks.Add();//新建工作簿
        var rng = sh.Range("A1").Resize(row1, col1);//扩选上述填充的区域
        excelApp.Visible = true;//显示
       
        //Excel中的长度是从1开始的,所以i和j需要等于1 ,小于等于数组的长度
        for (var i = 1; i <= rjson.length; i++) {//循环(行)
            var rlist = rjson[i - 1];//json数据子数据
            for (var j = 1; j <= rlist.length; j++) {//循环(列)
                sh.Cells(i, j) = rlist[j - 1];//单元格赋值
            }
        }
        ///js语法
        
        //设置相关样式
        sh.Cells.RowHeight = 23;//设置所有行的高度
        rng.Borders.LineStyle = 1;//设置填充区域的边框样式 为1
        rng.HorizontalAlignment = -4108;//设置填充区域的水平居中
        rng.VerticalAlignment = -4108;//设置填充区域的垂直居中
        sh.Columns.AutoFit();//设置所有列自动列宽(自适应内容)
        sh.Range("A1").Offset(1, 0).Select();//A1单元格下移一个单元格,并选择
        excelApp.ActiveWindow.FreezePanes = true;//冻结窗口(实现固定表头)

        sh.Range("A1").Resize(1, col1).Interior.ColorIndex = 41; //A1单元格横向扩选,并设置底纹颜色(设置表头底纹颜色)
        sh.Range("A1").Resize(1, col1).Font.ColorIndex = 2; //A1单元格横向扩选,并设置字体颜色(设置表头字体颜色)

        
    </script>
  
</head>
<body>

</body>
</html>

其中关于Excel部分的操作,和vba语法基本相似,除了声明的部分
以下是vba操作Excel的代码

     	'vba语法参考
        Sub ToExcel()
        Dim excelApp As Object
        Set excelApp = CreateObject("Excel.Application") '创建Excel对象 适用不同版本的Excel 敲代码无提示
     	Set excelApp = New Application'创建Excel对象 适用指定版本的Excel 有敲代码提示
     	
        Dim eBook As Object
        Dim Rng As Object
        Dim sh As Worksheet
        Dim row1 As Integer
        Dim col1 As Integer
    
        row1 = 7
        col1 = 9
    
        Set eBook = excelApp.Workbooks.Add() '新建工作簿
        Set sh = eBook.ActiveSheet   '取活动工作表
        Set Rng = sh.Range("A1").Resize(row1, col1) '扩选上述填充的区域
    
        excelApp.Visible = True '显示Excel
    
        '[vba语法]设置相关样式
        sh.Cells.RowHeight = 23 '设置所有行的高度
        Rng.Borders.LineStyle = 1 '设置填充区域的边框样式 为1
        Rng.HorizontalAlignment = -4108 '设置填充区域的水平居中
        Rng.VerticalAlignment = -4108 '设置填充区域的垂直居中
        sh.Columns.AutoFit '设置所有列自动列宽(自适应内容)
        sh.Range("A1").Offset(1, 0).Select 'A1单元格下移一个单元格,并选择
        excelApp.ActiveWindow.FreezePanes = True '冻结窗口(实现固定表头)

        sh.Range("A1").Resize(1, col1).Interior.ColorIndex = 41 'A1单元格横向扩选,并设置底纹颜色值(设置表头底纹颜色:蓝色)
        sh.Range("A1").Resize(1, col1).Font.ColorIndex = 2 'A1单元格横向扩选,并设置字体颜色值(设置表头字体颜色:白色)
        End Sub

上述代码运行效果(如下图):
固定了首行,设置了底纹、行高、列宽、居中等样式
上述代码运行效果

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值