VB操作Excel

在工程中添加引用:Microsoft Office 9.0 Object Library 
                   Microsoft Excel 9.0 Object Library      (Excel 2000)

新建一个Excel

Dim xlApp As Excel.Application

Dim book As Excel.Workbook

Dim sheet As Excel.Worksheet
Set xlApp = New Excel.Application

Set xlApp = CreateObject("Excel.Application")

Set xlBook = xlApp.Workbooks.Add

Set xlsheet = xlBook.Worksheets.Add

xlsheet.Cells(1, 1) = "测试" ‘写入内容

xlApp.Visible = True

xlBook.SaveAs ("F:\abc.xls") ‘保存内容

xlApp.Quit

Set xlApp = Nothing

打开已有Excle

Dim xlApp As Excel.Application

Dim book As Excel.Workbook

Dim sheet As Excel.Worksheet

Set xlApp = CreateObject("excel.Application")

Set book = xlApp.Workbooks.Open("F:\abc.xls")

xlApp.Visible = True

Set xlsheet = book.Worksheets("Sheet4")

book.Close (True)

xlApp.Quit

Set xlApp = Nothing

  1. Dim i1 As Integer, intCol As Integer, intRow As Integer
  2. Dim xlApp As New Excel.Application
  3. Dim xlBook As New Excel.Workbook
  4. Dim xlSheet As New Excel.Worksheet
  5. Dim strName As String, strArray1() As String
  6. Dim strS1 As String
  7. Dim strD1 As String

  1. strS1 = CurrentProject.Path + "\template.xls"
  2. strD1 = CurrentProject.Path + "\" + CStr(Format(Now, "YYYYMMDDHHMMSS")) + "aaa1.xls"
  1. Set xlApp = CreateObject("Excel.Application")
  2. xlApp.Visible = False
  1. With xlSheet
  2. .Range("F6").Value = strTmp1(1)
  3. .Range("H6").Value = strTmp1(2)
  4. .Range("F7").Value = CStr(Date)
  5. .Range("E10").Value = strTmp1(9)
  6. .Range("A15").Value = "To: " + strTmp1(8)
  7. .Range("B26").Value = strTmp1(4) + "PACKAGES"
  8. .Range("B27").Value = strTmp1(5) + "KGS"
  9. .Range("B28").Value = strTmp1(6) + "KGS"
  10. .Range("B29").Value = strTmp1(7) + "M3"
  11. End With
  1. 首先创建Excel对象,使用ComObj:
  2. Dim ExcelID as Excel.Application
  3. Set ExcelID as new Excel.Application
  4. 1)显示当前窗口:
  5. ExcelID.Visible:=True;
  6. 2)更改Excel标题栏:
  7. ExcelID.Caption:=‘应用程序调用MicrosoftExcel‘;
  8. 3)添加新工作簿:
  9. ExcelID.WorkBooks.Add;
  10. 4)打开已存在的工作簿:
  11. ExcelID.WorkBooks.Open(‘C:\Excel\Demo.xls‘);
  12. 5)设置第2个工作表为活动工作表:
  13. ExcelID.WorkSheets[2].Activate;
  14. 或ExcelID.WorkSheets[‘Sheet2‘].Activate;
  15. 6)给单元格赋值:
  16. ExcelID.Cells[1,4].Value:=‘第一行第四列‘;
  17. 7)设置指定列的宽度(单位:字符个数),以第一列为例:
  18. ExcelID.ActiveSheet.Columns[1].ColumnsWidth:=5;
  19. 8)设置指定行的高度(单位:磅)(1磅=0.035厘米),以第二行为例:
  20. ExcelID.ActiveSheet.Rows[2].RowHeight:=1/0.035;//1厘米
  21. 9)在第8行之前插入分页符:
  22. ExcelID.WorkSheets[1].Rows[8].PageBreak:=1;
  23. 10)在第8列之前删除分页符:
  24. ExcelID.ActiveSheet.Columns[4].PageBreak:=0;
  25. 11)指定边框线宽度:
  26. ExcelID.ActiveSheet.Range[‘B3:D4‘].Borders[2].Weight:=3;
  27. 1-左 2-右 3-顶4-底 5-斜(\) 6-斜(/)
  28. 12)清除第一行第四列单元格公式:
  29. ExcelID.ActiveSheet.Cells[1,4].ClearContents;
  30. 13)设置第一行字体属性:
  31. ExcelID.ActiveSheet.Rows[1].Font.Name:=‘隶书‘;
  32. ExcelID.ActiveSheet.Rows[1].Font.Color :=clBlue;
  33. ExcelID.ActiveSheet.Rows[1].Font.Bold :=True;
  34. ExcelID.ActiveSheet.Rows[1].Font.UnderLine:=True;
  35. 14)进行页面设置:
  36. a.页眉:
  37. ExcelID.ActiveSheet.PageSetup.CenterHeader:=‘报表演示‘;
  38. b.页脚:
  39. ExcelID.ActiveSheet.PageSetup.CenterFooter:=‘第&P页‘;
  40. c.页眉到顶端边距2cm:
  41. ExcelID.ActiveSheet.PageSetup.HeaderMargin:=2/0.035;
  42. d.页脚到底端边距3cm:
  43. ExcelID.ActiveSheet.PageSetup.HeaderMargin:=3/0.035;
  44. e.顶边距2cm:
  45. ExcelID.ActiveSheet.PageSetup.TopMargin:=2/0.035;
  46. f.底边距2cm:
  47. ExcelID.ActiveSheet.PageSetup.BottomMargin:=2/0.035;
  48. g.左边距2cm:
  49. ExcelID.ActiveSheet.PageSetup.LeftMargin:=2/0.035;
  50. h.右边距2cm:
  51. ExcelID.ActiveSheet.PageSetup.RightMargin:=2/0.035;
  52. i.页面水平居中:
  53. ExcelID.ActiveSheet.PageSetup.CenterHorizontally:=2/0.035;
  54. j.页面垂直居中:
  55. ExcelID.ActiveSheet.PageSetup.CenterVertically:=2/0.035;
  56. k.打印单元格网线:
  57. ExcelID.ActiveSheet.PageSetup.PrintGridLines:=True;
  58. 15)拷贝操作:
  59. a.拷贝整个工作表:
  60. ExcelID.ActiveSheet.Used.Range.Copy;
  61. b.拷贝指定区域:
  62. ExcelID.ActiveSheet.Range[‘A1:E2‘].Copy;
  63. c.从A1位置开始粘贴:
  64. ExcelID.ActiveSheet.Range.[‘A1‘].PasteSpecial;
  65. d.从文件尾部开始粘贴:
  66. ExcelID.ActiveSheet.Range.PasteSpecial;
  67. 16)插入一行或一列:
  68. a.ExcelID.ActiveSheet.Rows[2].Insert;
  69. b.ExcelID.ActiveSheet.Columns[1].Insert;
  70. 17)删除一行或一列:
  71. a.ExcelID.ActiveSheet.Rows[2].Delete;
  72. b.ExcelID.ActiveSheet.Columns[1].Delete;
  73. 18)打印预览工作表:
  74. ExcelID.ActiveSheet.PrintPreview;
  75. 19)打印输出工作表:
  76. ExcelID.ActiveSheet.PrintOut;
  77. 20)工作表保存:
  78. IfnotExcelID.ActiveWorkBook.Savedthen
  79. ExcelID.ActiveSheet.PrintPreview
  80. Endif
  81. 21)工作表另存为:
  82. ExcelID.SaveAs(‘C:\Excel\Demo1.xls‘);
  83. 22)放弃存盘:
  84. ExcelID.ActiveWorkBook.Saved:=True;
  85. 23)关闭工作簿:
  86. ExcelID.WorkBooks.Close;
  87. 24)退出Excel:
  88. ExcelID.Quit;
  89. 25)设置工作表密码:
  90. ExcelID.ActiveSheet.Protect"123",DrawingObjects:=True,Contents:=True,Scenarios:=True
  91. 26)EXCEL的显示方式为最大化
  92. ExcelID.Application.WindowState=xlMaximized
  93. 27)工作薄显示方式为最大化
  94. ExcelID.ActiveWindow.WindowState=xlMaximized
  95. 28)设置打开默认工作薄数量
  96. ExcelID.SheetsInNewWorkbook=3
  97. 29)‘关闭时是否提示保存(true保存;false不保存)
  98. ExcelID.DisplayAlerts=False
  99. 30)设置拆分窗口,及固定行位置
  100. ExcelID.ActiveWindow.SplitRow=1
  101. ExcelID.ActiveWindow.FreezePanes=True
  102. 31)设置打印时固定打印内容
  103. ExcelID.ActiveSheet.PageSetup.PrintTitleRows="$1:$1"
  104. 32)设置打印标题
  105. ExcelID.ActiveSheet.PageSetup.PrintTitleColumns=""
  106. 33)设置显示方式(分页方式显示)
  107. ExcelID.ActiveWindow.View=xlPageBreakPreview
  108. 34)设置显示比例
  109. ExcelID.ActiveWindow.Zoom=100
  110. 35)让Excel响应DDE请求
  111. Ex.Application.IgnoreRemoteRequests=False

  1. objExl.Rows("1:1").Select         ‘选中第一行
  2. objExl.Selection.Font.Bold = True   ‘设为粗体
  3. objExl.Selection.Font.Size = 24     ‘设置字体大小
  4. objExl.Cells.EntireColumn.AutoFit  ‘自动调整列宽
  5. objExl.ActiveWindow.SplitRow = 1  ‘拆分第一行
  6. objExl.ActiveWindow.SplitColumn = 0   ‘拆分列
  7. objExl.ActiveWindow.FreezePanes = True   ‘固定拆分
  8. objExl.ActiveSheet.PageSetup.PrintTitleRows = "$1:$1"  ‘设置打印固定行
  9. objExl.ActiveSheet.PageSetup.PrintTitleColumns = ""    ‘打印标题
  10. objExl.ActiveSheet.PageSetup.RightFooter = "打印时间: " & _
  11. Format(Now, "yyyy年mm月dd日 hh:MM:ss")
  12. objExl.ActiveWindow.View = xlPageBreakPreview    ‘设置显示方式
  13. objExl.ActiveWindow.Zoom = 100                 ‘设置显示大小
  14. ‘给工作表加密码
  15. objExl.ActiveSheet.Protect "123", DrawingObjects:=True, _
  16. Contents:=True, Scenarios:=True
  17. objExl.Application.IgnoreRemoteRequests = False
  18. objExl.Visible = True                       ‘使EXCEL可见
  19. objExl.Application.WindowState = xlMaximized    ‘EXCEL的显示方式为最大化
  20. objExl.ActiveWindow.WindowState = xlMaximized    ‘工作薄显示方式为最大化
  21. objExl.SheetsInNewWorkbook = 3           ‘将默认新工作薄数量改回3个
  22. Set objExl = Nothing    ‘清除对象
  23. Me.MousePointer = 0   ‘修改鼠标

  1. objExl.SheetsInNewWorkbook = 3
  2. objExl.DisplayAlerts = False  ‘关闭时不提示保存
  3. objExl.Quit                ‘关闭EXCEL
  4. objExl.DisplayAlerts = True   ‘关闭时提示保存
  5. Set objExl = Nothing

时间: 01-19

VB操作Excel的相关文章

POI操作Excel

Excel简介 一个excel文件就是一个工作簿workbook,一个工作簿中可以创建多张工作表sheet,而一个工作表中包含多个单元格Cell,这些单元格都是由列(Column)行(Row)组成,列用大写英文字母表示,从A开始到Z共26列,然后再从AA到AZ又26列,再从BA到BZ再26列以此类推.行则使用数字表示,例如:A3 表示第三行第一列,E5表示第五行第五列. POI工具包 JAVA中操作Excel的有两种比较主流的工具包: JXL 和 POI .jxl 只能操作Excel 95, 9

java 操作 Excel,java导出excel

WritableWorkbook out = null; try { response.getServletResponse().reset(); ((HttpServletResponse) response.getServletResponse()).setHeader("Content-Disposition", "attachment;filename=export.xls"); response.getServletResponse().setConten

python操作excel

python操作exce的方式: 使用win32com 使用xlrd(读excel).xlwt(写excel) 1.使用win32com方式 代码: # coding=utf-8 from win32com.client import Dispatch import pywintypes ''' 查看excel最大行数和列数 打开一个空白新建EXCEL表格,按CTRL+下箭头,可以查看到最大行数:按CTRL+右箭头, 可以查看到最大列标(若想显示列数,可在最右一列的某单元格中输入=column(

java使用POI操作excel文件,实现批量导出,和导入

一.POI的定义 JAVA中操作Excel的有两种比较主流的工具包: JXL 和 POI .jxl 只能操作Excel 95, 97, 2000也即以.xls为后缀的excel.而poi可以操作Excel 95及以后的版本,即可操作后缀为 .xls 和 .xlsx两种格式的excel. POI全称 Poor Obfuscation Implementation,直译为"可怜的模糊实现",利用POI接口可以通过JAVA操作Microsoft office 套件工具的读写功能.官网:htt

POI组件:POI操作Excel

1.Excel简介 一个excel文件就是一个工作簿workbook,一个工作簿中可以创建多张工作表sheet,而一个工作表中包含多个单元格Cell,这些单元格都是由列(Column)行(Row)组成,列用大写英文字母表示,从A开始到Z共26列,然后再从AA到AZ又26列,再从BA到BZ再26列以此类推.行则使用数字表示,例如:A3 表示第三行第一列,E5表示第五行第五列. 2.POI工具包 POI全称 Poor Obfuscation Implementation,直译为"可怜的模糊实现&qu

JAVA的POI操作Excel

1.1Excel简介 一个excel文件就是一个工作簿workbook,一个工作簿中可以创建多张工作表sheet,而一个工作表中包含多个单元格Cell,这些单元格都是由列(Column)行(Row)组成,列用大写英文字母表示,从A开始到Z共26列,然后再从AA到AZ又26列,再从BA到BZ再26列以此类推.行则使用数字表示,例如:A3 表示第三行第一列,E5表示第五行第五列. 1.2 POI工具包 JAVA中操作Excel的有两种比较主流的工具包: JXL 和 POI .jxl 只能操作Exce

Java文件操作系列[2]——使用JXL操作Excel文件

由于java流无法实现对Excel文件的读写操作,因此在项目中经常利用第三方开源的组件来实现.支持Excel文件操作的第三方开源组件主要有Apache的POI和开源社区的JXL. 总体来说,二者的区别是:JXL较为轻量级,如果是对Excel文件的简单操作,建议使用JXL:POI的功能相当强大,但同时处理问题也相当的繁琐. 1.准备工作 [必需]下载JXL的jar包:jxl.jar [非必需]JXL API  (提取密码:zgqj) 2.一些必要的说明 主要是对Excel结构的说明: Excel后

POI操作EXCEL(二)

原文转自:http://www.tqcto.com/article/code/295025.html java当初把核心处理设成Unicode,带来的好处是另代码适应了多语言环境.然而由于老外的英语只有26个字母,有些情况下,一些程序员用8 位的byte处理,一不小心就去掉了CJK的高位.或者是由于习惯在程序中采用硬编码,还有多种原因,使得许多java应用在CJK的处理上很烦恼.还好 在POI HSSF中考虑到这个问题,可以设置encoding为双字节. POI可以到www.apache.org

(5) 如何用Apache POI操作Excel文件-----发现Apache的POI的Bug后,如何给Apache的POI报Bug?

在我上篇文章中,(4) 如何用Apache POI操作Excel文件-----发现了POI-3.12一个回归,通过测试POI-3.12的版本,我发现了一个bug,那么发现bug后,该如何处理.我们有2种处理方式,首先我们到Apache POI的bug库里面搜索,看别人有没有创建类似的bug,如果有创建的,这个是最好的结果,我们只需要关注这个bug什么时候被修复.如果没有搜索不到,这个时候我们就需要给Apache POI报bug了.那么,如何给Apache报Bug? 第一步: 打开https://

Java操作Excel之POI简单例子

21 /** 22 * 利用POI操作Excel表单 23 * 24 * 需要jar包: 25 * HSSF针对03及以前版本,即.xls后缀 26 * |---poi-3.16.jar 27 * XSSF针对07及以后版本,即xlsx后缀 28 * |---poi-3.16.jar 29 * |---poi-ooxml.3.16.jar 30 * |---poi-ooxml-schemas-3.16.jar 31 * |---xmlbeans-2.6.0.jar 32 * |---common