js操作Excel,js导出Excel,如同vba操作Excel(对ie8及其以上浏览器)
程序员文章站
2022-07-03 21:03:13
...
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
上述代码运行效果(如下图):
固定了首行,设置了底纹、行高、列宽、居中等样式
上一篇: Excel VBA一些操作语法