机房管理系统——vb与excel链接2
因为我之前找的文档让我以为在创建表里面走了非常大的误区,所以当时我直接就在学生管理系统的目录里建了张表,执行时候直接打开这样表即可了。
可是这里面还是存在着非常大的误区。
后来我看了周坤的博客感觉他比我的代码优化了好多。
我代码里面的好多问题都在他这里面得到解决。
(ORZ!!
。我做了一下午,忽然有种白做的感觉。)
“导出为excel”这个button大体就是点击button便创建一张表,然后把myflexgrid写到表格里面。
先看一下我的代码的问题:
|
Set xlApp = CreateObject("Excel.Application") '创建EXCEL应用类 |
|
|
xlApp.Visible = True '设置EXCEL可见 |
|
|
1. |
Set xlBook = xlApp.Workbooks.Open(App.Path & "\新建 Microsoft Excel 工作表.xls") '打开EXCEL工作簿 |
|
Set xlSheet = xlBook.Worksheets(1) '打开EXCEL工作表 |
|
|
xlSheet.Activate '激活工作表 |
|
|
2. |
xlSheet.Cells(1, 1) = myflexgrid.TextMatrix(0, 0)……'给单元格1行驶列赋值………… |
|
xlBook.RunAutoMacros (xlAutoOpen) '执行EXCEL中的启动宏 |
- 之前我已经定义了,而我这行代码是打开已有的工作簿。可是。add这种方法就是创建一个新工作簿。新工作簿将成为当前表的活动工作簿。
(我之前一直以为add是加入内容的意思)
- 这行代码我仅仅能控制表的第一行第一列,假设显示几十行怎么办?通过看系统里面代码能够用循环来完毕。
以下看一下我今天看到的代码:
Dim xlsAppAs Excel.Application '定义Excel程序
DimxlsBook As Excel.Workbook '定义工作簿
DimxlsSheet As Excel.Worksheet '定义工作表
|
Dim i As Long |
|
|
Dim j As Long |
SetxlsApp = CreateObject("Excel.Application") '创建应用程序
|
Set xlsBook = xlsApp.Workbooks.Add |
创建一个新工作簿。新工作簿将成为当前表的活动工作簿。 |
SetxlsSheet = xlsBook.Worksheets(1) '设置应用表
With xlsApp
|
.Rows(1).Font.Bold = True |
怎样在设置excel中的字体进行设置 |
End With
'把myflexgrid.Rows的内容写入到电子表格中
|
For i = 0 To myflexgrid.Rows - 1 |
非常好的利用了循环语句 |
|
For j = 0 To myflexgrid.Rows - 1 |
|
|
xlsSheet.Cells(i + 1, j + 1) = "'" & myflexgrid.Rows.TextMatrix(i, j) |
’通过我上面写的能够明显的总结出这个规律 |
Next j
Next i
xlsApp.Visible = True '显示电子表格
'xlsSheet.PrintOut preview:=True '进入打印预览页面
|
' xlsBook.SaveAs App.Path & "\Test.xls" '保存路径和文件名 |
要是点一下就出现一张表这样也太麻烦了,并且文件名称字还是一样的。 所以我认为这段代码有点多余。 |
SetxlsApp = Nothing '释放控制权
这样做出来的效果比我做的好得多。
拓展:(excel很多其它操作)
1)显示当前窗体:
|
ExcelID.Visible:=True; |
2)更改Excel标题栏:
|
ExcelID.Caption:=' |
应用程序调用MicrosoftExcel'; |
3)加入新工作簿:
|
ExcelID.WorkBooks.Add; |
4)打开已存在的工作簿:
|
ExcelID.WorkBooks.Open('C:\Excel\Demo.xls'); |
5)设置第2个工作表为活动工作表:
|
ExcelID.WorkSheets[2].Activate; |
或ExcelID.WorkSheets['Sheet2'].Activate; |
6)给单元格赋值:
|
ExcelID.Cells[1,4].Value:='第一行第四列'; |
7)设置指定列的宽度(单位:字符个数),以第一列为5例:
|
ExcelID.ActiveSheet.Columns[1].ColumnsWidth:=5; |
8)设置指定行的高度(单位:磅)(1磅=0.035厘米)。以第二行为例:
|
ExcelID.ActiveSheet.Rows[2].RowHeight:=1/0.035;//1厘米 |
9)在第8行之前插入分页符:
|
ExcelID.WorkSheets[1].Rows[8].PageBreak:=1; |
10)在第8列之前删除分页符:
|
ExcelID.ActiveSheet.Columns[4].PageBreak:=0; |
11)指定边框线宽度:
|
ExcelID.ActiveSheet.Range['B3:D4'].Borders[2].Weight:=3; 1-左 2-右 3-顶4-底 5-斜(\) 6-斜(/) |
12)清除第一行第四列单元格公式:
|
ExcelID.ActiveSheet.Cells[1,4].ClearContents; |
13)设置第一行字体属性:
|
ExcelID.ActiveSheet.Rows[1].Font.Name:='隶书'; |
|
ExcelID.ActiveSheet.Rows[1].Font.Color =clBlue; |
|
|
ExcelID.ActiveSheet.Rows[1].Font.Bold :=True; |
|
|
ExcelID.ActiveSheet.Rows[1].Font.UnderLine:=True; |
机房管理系统——vb与excel链接2的更多相关文章
- 计算机管理系统——VB与Excel联系
今天爆震室管理系统--学生查看机器状态的时候发现有一个"导出到excel"的button.我去.感情还得跟excel表链接. 于是我咬碎了一地小银牙.一个下午都在查询vb与exce ...
- 办公用品管理系统VB——库存数量导出EXCEL,SaveEXCEL
办公用品管理系统VB——库存数量导出EXCEL,SaveEXCEL 总体来说,VB的EXCEL导出效率还是蛮低的,就是一个小型化的办公用品管理软件,不再优化了. 时间紧迫,就没有从头到尾的用C#编写, ...
- C#/VB.NET Excel数据分列
C#/VB.NET Excel数据分列 有时候我们需要将保存在Excel单元格中的组合型数据拆分为多列(如将全名拆分为姓和名两列)以方便我们处理.记忆或保存.为了避免重复和大量的手动输入工作,Exce ...
- VB操作EXCEL文件
用VB操作Excel(VB6.0)(整理) 首先创建Excel对象,使用ComObj:Dim ExcelID as Excel.ApplicationSet ExcelID as new Excel. ...
- 用VB操作Excel的方法
VB是常用的应用软件开发工具之一,由于VB的报表功能有限,而且一但报表格式发生变化,就得相应修改程序,给应用软件的维护工作带来极大的不便.因此有很多程序员现在已经充分利用EXECL的强大报表功来实现报 ...
- VB操作EXCEL文件大全
Private Sub writeToExcel(strTmp1() As String, colTmp1 As Collection)'' Dim tmp1 Dim i1 As Integer, i ...
- VB中Excel 2010的导入导出操作
VB中Excel 2010的导入导出操作 编写人:左丘文 2015-4-11 近来这已是第二篇在讨论VB的相关问题,今天在这里,我想与大家一起分享一下在VB中如何从Excel中导入数据和导出数据到Ex ...
- 毕业设计java实验室预约管理系统SSH机房预约系统javaweb机房实验室排课系统mysql机房管理系统 实验室管理系统 课程设计 代码讲解 调试运行
毕业设计java实验室预约管理系统SSH机房预约系统javaweb机房实验室排课系统mysql机房管理系统 实验室管理系统 课程设计 代码讲解 调试运行 注意:该项目只展示部分功能,如需了解,评论区咨 ...
- VB.NET版机房收费系统---导出Excel表格
datagridview,翻译成中文的意思是数据表格显示,使用DataGridView控件,能够显示和编辑来自不同类型的数据源的表格,将数据绑定到DataGridView控件很easy和直观,大多数情 ...
随机推荐
- Google2016开发者大会
Android主讲: 一.吴晶:android笔记博主(博客:http://www.race604.com/) 主题:Android低功耗蓝牙(BLE)实践 低功耗蓝牙在可穿戴和智能家居里边用的比较多 ...
- SQL DMO のDMV
这两天对公司的一个项目进行优化,看着长长的SQL,脑袋不经有些大,一时间竟然不知道如何下手,一顿手忙脚乱后,小有成效,响应速度快了不少,同样的条件下可以做到秒级响应.闲暇时间想了想,还是得做点功课,最 ...
- Delphi 动态创建组件,单个创建、单个销毁
效果图如下: 实现部分代码如下: var rec: Integer = 0; //记录增行按钮点击次数 implementation {$R *.dfm} //动态释放单个组件内存,即销毁组件 pro ...
- windows下安装CI框架
CI框架是一个非常流行的 mvc框架, CI框架如何安装和使用,在CI中文网已经讲的比较详细了 ,这里记录下几个需要注意的地方. 一. index.php问题 把压缩包下载解压到项目根目录即可运行里面 ...
- uva 1378 A Funny Stone Game (博弈-SG)
题目链接:http://vjudge.net/problem/viewProblem.action?id=41555 把第i堆的每个石子看出一堆个数为n-i的石子,转换为组合游戏 #include & ...
- Java学习----设计正真的应用程序
import java.util.Scanner; // 输入10位学生的成绩,并且判断他们的成绩是哪个等级,其中90-100是A级,80-89是B级,70-79是C级,60-69是D级,60分以下E ...
- underscorejs-reduceRight学习
2.4 reduceRight 2.4.1 语法: _.reduceRight(list, iteratee, memo, [context]) 2.3.2 说明: reduceRight和reduc ...
- .net别样外观控件包DotNetBar
内容介绍:http://www.componentcn.com/?thread-6423-1.html BubbleBar应用: BubbleBar, DevComponents. Namesp ...
- 如何完全禁用或卸载Windows 10中的OneDrive - 51CTO.COM
OneDrive 是微软的个人云存储平台,提供了对个人用户的文件托管.存储和同步等服务,OneDrive 默认被内置在 Windows 10 操作系统当中,而且当用户使用 微软账户 登录时,OneDr ...
- Tomcat基础教程(二)
上一篇说到了Tomcat的介绍,下载及安装,这一篇我会详述Tomcat服务器结构 一.Tomcat服务器结构图: Tomcat服务器中可以配置多个Service,每个Service可以包含多个Conn ...