vbscript 中对excel常见操作

摘要:
R2c3:r3c9“series.addrange,true5)加上二维图表标题achart.chart.Has

 vbs 对excel的操作 删除、修改单元格,设置字体、背景色
dim oExcel,oWb,oSheet
Set oExcel= CreateObject("Excel.Application")
Set oWb = oExcel.Workbooks.Open("E:其他新装电话表.xls")
Set oSheet = oWb.Sheets("Sheet1")
MsgBox oSheet.Range("B2").Value '#提取单元格B2内容
'.....
3、如果是XP系统,可以使用如下代码
Dim objFileDlg
Set objFileDlg = CreateObject("UserAccounts.CommonDialog")
objFileDlg.Filter = "Excel File (*.xls) |*.xls"
If objFileDlg.ShowOpen Then
msgbox "您选择的文件是:" & objFileDlg.FileName & vbCrLf
End If
VBS控制Excel的一些常见方法:
(一) 使用动态创建的方法
首先创建 Excel 对象,使用ComObj:
oExcel = CreateObject( "Excel.Application" )
1) 显示当前窗口:
oExcel.Visible = True
2) 更改 Excel 标题栏:
oExcel.Caption = "应用程序调用 Microsoft Excel"
3) 添加新工作簿:
oExcel.WorkBooks.Add
4) 打开已存在的工作簿:
oExcel.WorkBooks.Open( "C:ExcelDemo.xls" )
5) 设置第2个工作表为活动工作表:
oExcel.WorkSheets(2).Activate

oExcel.WorksSheets( "Sheet2" ).Activate
6) 给单元格赋值:
oExcel.Cells(1,4).Value = "第一行第四列"
7) 设置指定列的宽度(单位:字符个数),以第一列为例:
oExcel.ActiveSheet.Columns(1).ColumnsWidth = 5
8) 设置指定行的高度(单位:磅)(1磅=0.035厘米),以第二行为例:
oExcel.ActiveSheet.Rows(2).RowHeight = 1/0.035 ' 1厘米
9) 在第8行之前插入分页符:
oExcel.WorkSheets(1).Rows(8).PageBreak = 1
10) 在第8列之前删除分页符:
oExcel.ActiveSheet.Columns(4).PageBreak = 0
11) 指定边框线宽度:
oExcel.ActiveSheet.Range( "B3:D4" ).Borders(2).Weight = 3
1-左 2-右 3-顶 4-底 5-斜( ) 6-斜( / )
12) 清除第一行第四列单元格公式:
oExcel.ActiveSheet.Cells(1,4).ClearContents
13) 设置第一行字体属性:
oExcel.ActiveSheet.Rows(1).Font.Name = "隶书"
oExcel.ActiveSheet.Rows(1).Font.Color = clBlue
oExcel.ActiveSheet.Rows(1).Font.Bold = True
oExcel.ActiveSheet.Rows(1).Font.UnderLine = True
14) 进行页面设置:
a.页眉:
oExcel.ActiveSheet.PageSetup.CenterHeader = "报表演示"
b.页脚:
oExcel.ActiveSheet.PageSetup.CenterFooter = "第&P页"
c.页眉到顶端边距2cm:
oExcel.ActiveSheet.PageSetup.HeaderMargin = 2/0.035
d.页脚到底端边距3cm:
oExcel.ActiveSheet.PageSetup.HeaderMargin = 3/0.035
e.顶边距2cm:
oExcel.ActiveSheet.PageSetup.TopMargin = 2/0.035
f.底边距2cm:
oExcel.ActiveSheet.PageSetup.BottomMargin = 2/0.035
g.左边距2cm:
oExcel.ActiveSheet.PageSetup.LeftMargin = 2/0.035
h.右边距2cm:
oExcel.ActiveSheet.PageSetup.RightMargin = 2/0.035
i.页面水平居中:
oExcel.ActiveSheet.PageSetup.CenterHorizontally = 2/0.035
j.页面垂直居中:
oExcel.ActiveSheet.PageSetup.CenterVertically = 2/0.035
k.打印单元格网线:
oExcel.ActiveSheet.PageSetup.PrintGridLines = True
15) 拷贝操作:
a.拷贝整个工作表:
oExcel.ActiveSheet.Used.Range.Copy
b.拷贝指定区域:
oExcel.ActiveSheet.Range( "A1:E2" ).Copy
c.从A1位置开始粘贴:
oExcel.ActiveSheet.Range.( "A1" ).PasteSpecial
d.从文件尾部开始粘贴:
oExcel.ActiveSheet.Range.PasteSpecial
16) 插入一行或一列:
a. oExcel.ActiveSheet.Rows(2).Insert
b. oExcel.ActiveSheet.Columns(1).Insert
17) 删除一行或一列:
a. oExcel.ActiveSheet.Rows(2).Delete
b. oExcel.ActiveSheet.Columns(1).Delete
18) 打印预览工作表:
oExcel.ActiveSheet.PrintPreview
19) 打印输出工作表:
oExcel.ActiveSheet.PrintOut
20) 工作表保存:
if not oExcel.ActiveWorkBook.Saved then
oExcel.ActiveSheet.PrintPreview
21) 工作表另存为:
oExcel.SaveAs( "C:ExcelDemo1.xls" )
22) 放弃存盘:
oExcel.ActiveWorkBook.Saved = True
23) 关闭工作簿:
oExcel.WorkBooks.Close
24) 退出 Excel:
oExcel.Quit
(二) 使用VBS 控制Excle二维图
1)选择当第一个工作薄第一个工作表
set oSheet=oExcel.Workbooks(1).Worksheets(1)
2)增加一个二维图
achart=oSheet.chartobjects.add(100,100,200,200)
3)选择二维图的形态
achart.chart.charttype=4
4)给二维图赋值
set series=achart.chart.seriescollection
range="sheet1!r2c3:r3c9"
series.add range,true
5)加上二维图的标题
achart.Chart.HasTitle=True
achart.Chart.ChartTitle.Characters.Text=" Excle二维图"
6)改变二维图的标题字体大小
achart.Chart.ChartTitle.Font.size=18
7)给二维图加下标说明
achart.Chart.Axes(xlCategory, xlPrimary).HasTitle = True
achart.Chart.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "下标说明"
8)给二维图加左标说明
achart.Chart.Axes(xlValue, xlPrimary).HasTitle = True
achart.Chart.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "左标说明"
9)给二维图加右标说明
achart.Chart.Axes(xlValue, xlSecondary).HasTitle = True
achart.Chart.Axes(xlValue, xlSecondary).AxisTitle.Characters.Text = "右标说明"
10)改变二维图的显示区大小
achart.Chart.PlotArea.Left = 5
achart.Chart.PlotArea.Width = 223
achart.Chart.PlotArea.Height = 108

这个是vbscript的,方法在javascript里都是通用的,不过语法略有不同希望对你有帮助
1、 建立Excel对象
set objExcelApp = CreateObject("Excel.Application")
objExcelApp.DisplayAlerts = false 不显示警告
objExcelApp.Application.Visible = false 不显示界面
2、 新建Excel文件
objExcelApp.WorkBooks.add
set objExcelBook = objExcelApp.ActiveWorkBook
set objExcelSheets = objExcelBook.Worksheets
set objExcelSheet = objExcelBook.Sheets(1)
3、 读取已有Excel文件
strAddr = Server.MapPath(".")
objExcelApp.WorkBooks.Open(strAddr & "TempletTable.xls")
set objExcelBook = objExcelApp.ActiveWorkBook
set objExcelSheets = objExcelBook.Worksheets
set objExcelSheet = objExcelBook.Sheets(1)
4、 另存Excel文件
objExcelBook.SaveAs strAddr & "TempTable.xls"
5、 保存Excel文件
objExcelBook.Save (笔者测试时保存成功,页面报错。)
6、 退出Excel操作
objExcelApp.Quit 一定要退出
set objExcelApp = Nothing
三、 ASP操作Excel生成数据表
1、 在一个范围内插入数据
objExcelSheet.Range("B3:k3").Value = Array("67", "87", "5", "9", "7", "45", "45", "54", "54", "10")
2、 在一个单元格内插入数据
objExcelSheet.Cells(3,1).Value="Internet Explorer"
3、 改变单元格文字颜色
objExcelSheet.Cells(3,1).Font.Color=vbred
4、 单元格四周画线条
objExcelSheet.Cells(3.1).Borders(1).LineStyle =1
objExcelSheet.Cells(3.1).Borders(2).LineStyle =1
objExcelSheet.Cells(3.1).Borders(3).LineStyle =1
objExcelSheet.Cells(3.1).Borders(4).LineStyle =1
区域中间画线条
objExcelSheet.Range(“A1:G7”).Borders(7).LineStyle =1
objExcelSheet.Range(“A1:G7”).Borders(8).LineStyle =1

8、 单元格设定背景色
objExcelSheet.Cells(3.1).Interior.colorindex=17
9、 合并单元格
objExcelSheet.Range(“A1:G7”).Merge
10、 设置左右对齐方式
2 left 3 middle 4 right
objExcelSheet.Range("A1").HorizontalAlignment = 2
11、 设置上下对齐方式
2 为居中
objExcelSheet.Range("A1")..VerticalAlignment = 2
四、 ASP操作Excel生成Chart图
1、 创建Chart图
objExcelApp.Charts.Add
2、 设定Chart图种类
objExcelApp.ActiveChart.ChartType = 97
注:二维折线图,4;二维饼图,5;二维柱形图,51
3、 设定Chart图标题
objExcelApp.ActiveChart.HasTitle = True
objExcelApp.ActiveChart.ChartTitle.Text = "A test Chart"
4、 通过表格数据设定图形
objExcelApp.ActiveChart.SetSourceData objExcelSheet.Range("A1:k5"),1
5、 直接设定图形数据(推荐)
objExcelApp.ActiveChart.SeriesCollection.NewSeries
objExcelApp.ActiveChart.SeriesCollection(1).Name = "=""333"""
objExcelApp.ActiveChart.SeriesCollection(1).Values = "={1,4,5,6,2}"
6、 绑定Chart图
objExcelApp.ActiveChart.Location 1
7、 显示数据表
objExcelApp.ActiveChart.HasDataTable = True
8、 显示图例
objExcelApp.ActiveChart.DataTable.ShowLegendKey = True
五、 服务器端Excel文件浏览、下载、删除方案
浏览的解决方法很多,“Location.href=”,“Navigate”,“Response.Redirect”都可以实现,建议用客户端的方法,原因是给服务器更多的时间生成Excel文件。
下载的实现要麻烦一些。用网上现成的服务器端下载组件或自己定制开发一个组件是比较好的方案。另外一种方法是在客户端操作Excel组件,由客户端操作服务器端Excel文件另存至客户端。这种方法要求客户端开放不安全ActiveX控件的操作权限,考虑到通知每个客户将服务器设置为可信站点的麻烦程度建议还是用第一个方法比较省事。
删除方案由三部分组成:
A: 同一用户生成的Excel文件用同一个文件名,文件名可用用户ID号或SessionID号等可确信不重复字符串组成。这样新文件生成时自动覆盖上一文件。
B: 在Global.asa文件中设置Session_onEnd事件激发时,删除这个用户的Excel暂存文件。
C: 在Global.asa文件中设置Application_onStart事件激发时,删除暂存目录下的所有文件。
注:建议目录结构 Src 代码目录 Templet 模板目录 Temp 暂存目录
六、 附录
出错时Excel出现的死进程出现是一件很头疼的事情。在每个文件前加上“On Error Resume Next”将有助于改善这种情况,因为它会不管文件是否产生错误都坚持执行到“Application.Quit”,保证每次程序执行完不留下死进程。

 欢迎加入QQ技术群聊:70539804

免责声明:文章转载自《vbscript 中对excel常见操作》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇oracle in 的最大值是1000linux的端口学习(一)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

hive 之 将excel数据导入hive中 : excel 转 txt

一、需求: 1、客户每月上传固定格式的excel文件到指定目录。每月上传的文件名只有结尾月份不同,如: 10月文件名:  zhongdiangedan202010.xlsx  , 11月文件名: zhongdiangedan202011.xlsx  2、将上传的excel文件导入hive中,在做进一步数据分析。 二、思路:   1、通过python的pan...

在ASP中使用VFP编写脚本程序

网站设计众所周知,VFP是一个数据库管理系统,对于中小型数据库,他是非常得心应手的,但利用VFP开发Web系统、制作网站,可能许多人都没听说过。制作网站 最传统的方法就是用ASP,ASP脚本中可以使用VbScript与JavaScript两种脚本语言。下面要介绍的就是如何在ASP中使用另一种语言VFP进行脚本程序的编写。 1、VfpWeb介绍 Vfp...

导出Excel之Epplus使用教程1(基本介绍)

1、前言       目前Epplus的介绍中文资料很少,我也一直在摸索中使用它,以下是我在使用过程中得到的经验,写出来供大家参考。本系列共4章:      导出Excel之Epplus使用教程1(基本介绍)      导出Excel之Epplus使用教程2(样式设置)       导出Excel之Epplus使用教程3(图表设置)        导出Ex...

使用xlwings新建N多excel工作簿

今天尝试使用xlwings操作excel的时候发现代码一直不运行,后来通过在pycharm的左侧导航栏右击“运行”发现可以实现。目前不知道什么原因,还在寻找中。 之前的操作一直是选中代码片段,单击右上角的‘运行’按钮。今天搞了一天也始终不运行。 记录一下这个问题。 今天的学习内容主要是新建和保存N多excel,代码如上: import xlwings as...

G2使用中的一些坑:自定义图例、混合图形、label 默认隐藏等问题

一、自定义图例 legend 一般自定义图例较多的使用在混合图形里,以 G2 官网的这个 chart 为例,通过定制 legend 来显示自己定义的图例。 注意:legend 的配置项里一定要设置 custom: true ,自己在写的时候过多关注多个图形叠加使用,没有注意设置 custom,结果图表显示一直有问题,图例也显示不出来,折腾到怀疑人生。 二...

tp5.1 使用PhpSpreadsheet 读写excel

PhpSpreadsheet是一个用纯PHP编写的库,提供了一组类,使您可以读取和写入不同的电子表格文件格式,例如Excel和LibreOffice Calc。 官方文档:https://phpspreadsheet.readthedocs.io/en/latest/ php 版本要求 使用PhpSpreadsheet开发的PHP 7.2或更高版本。 其他...