因为我之前找的文档让我以为在创建表里面走了非常大的误区,所以当时我直接就在学生管理系统的目录里建了张表,执行时候直接打开这样表即可了。

可是这里面还是存在着非常大的误区。

后来我看了周坤的博客感觉他比我的代码优化了好多。

我代码里面的好多问题都在他这里面得到解决。

(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中的启动宏

  1. 之前我已经定义了,而我这行代码是打开已有的工作簿。可是。add这种方法就是创建一个新工作簿。新工作簿将成为当前表的活动工作簿。

    (我之前一直以为add是加入内容的意思)

  2. 这行代码我仅仅能控制表的第一行第一列,假设显示几十行怎么办?通过看系统里面代码能够用循环来完毕。

以下看一下我今天看到的代码:

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的更多相关文章

  1. 计算机管理系统——VB与Excel联系

    今天爆震室管理系统--学生查看机器状态的时候发现有一个"导出到excel"的button.我去.感情还得跟excel表链接. 于是我咬碎了一地小银牙.一个下午都在查询vb与exce ...

  2. 办公用品管理系统VB——库存数量导出EXCEL,SaveEXCEL

    办公用品管理系统VB——库存数量导出EXCEL,SaveEXCEL 总体来说,VB的EXCEL导出效率还是蛮低的,就是一个小型化的办公用品管理软件,不再优化了. 时间紧迫,就没有从头到尾的用C#编写, ...

  3. C#/VB.NET Excel数据分列

    C#/VB.NET Excel数据分列 有时候我们需要将保存在Excel单元格中的组合型数据拆分为多列(如将全名拆分为姓和名两列)以方便我们处理.记忆或保存.为了避免重复和大量的手动输入工作,Exce ...

  4. VB操作EXCEL文件

    用VB操作Excel(VB6.0)(整理) 首先创建Excel对象,使用ComObj:Dim ExcelID as Excel.ApplicationSet ExcelID as new Excel. ...

  5. 用VB操作Excel的方法

    VB是常用的应用软件开发工具之一,由于VB的报表功能有限,而且一但报表格式发生变化,就得相应修改程序,给应用软件的维护工作带来极大的不便.因此有很多程序员现在已经充分利用EXECL的强大报表功来实现报 ...

  6. VB操作EXCEL文件大全

    Private Sub writeToExcel(strTmp1() As String, colTmp1 As Collection)'' Dim tmp1 Dim i1 As Integer, i ...

  7. VB中Excel 2010的导入导出操作

    VB中Excel 2010的导入导出操作 编写人:左丘文 2015-4-11 近来这已是第二篇在讨论VB的相关问题,今天在这里,我想与大家一起分享一下在VB中如何从Excel中导入数据和导出数据到Ex ...

  8. 毕业设计java实验室预约管理系统SSH机房预约系统javaweb机房实验室排课系统mysql机房管理系统 实验室管理系统 课程设计 代码讲解 调试运行

    毕业设计java实验室预约管理系统SSH机房预约系统javaweb机房实验室排课系统mysql机房管理系统 实验室管理系统 课程设计 代码讲解 调试运行 注意:该项目只展示部分功能,如需了解,评论区咨 ...

  9. VB.NET版机房收费系统---导出Excel表格

    datagridview,翻译成中文的意思是数据表格显示,使用DataGridView控件,能够显示和编辑来自不同类型的数据源的表格,将数据绑定到DataGridView控件很easy和直观,大多数情 ...

随机推荐

  1. MVC3 展示数据含有html代码处理,配合上篇发布的StringHelper

    @Html.Raw(@StringHelper.SubstringToHTML(Content,30)) StringHelper 地址:http://www.cnblogs.com/Jiawt/p/ ...

  2. 四大跨平台的APP分析

    转载:http://blog.csdn.net/kenkao/article/details/50678269

  3. UITableView中的visibleCells的用法(visibleCells帮上大忙了)

      这两天遇到一个问题,UITableView中需要加入动画,而且每一行的速度不一样. 刚开始做时把所有的cell都遍历一遍加上动画,后来发现,如果数据很多时,就会出现各种各样的问题,而且没有显示在界 ...

  4. 安卓开发入门之activity

    安卓开发主要用到的是java语言,对于一个activity,自己写的程序可以继承至Activity,该Activity先会运行一个叫 onCreat()的类,可以在其中申明一些初始化的函数等,这个函数 ...

  5. nodejs新手教程中upload file的问题

    可参见: http://cnodejs.org/topic/50234890f767cc9a51f88481 request.setEncoding("utf8");应注释掉.

  6. (转载)最实用的清除浮动代码 css的文字过长裁剪后面跟着省略号

    css: .clearfloat:after{display:block;clear:both;content:"";visibility:hidden;} .clearfloat ...

  7. PHP实现动态生成饼状图 (转载)

    <?php //变量定义,画椭圆弧时的角度大小 define("ANGLELENGTH", 10); /** * 绘制图片 * @param $title 3D图的标题 * ...

  8. UVA - 524 Prime Ring Problem(dfs回溯法)

    UVA - 524 Prime Ring Problem Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & % ...

  9. laravel框架——路由

    基本路由: Route::get('/', function () { return view('welcome'); }); Route::post('/', function () { retur ...

  10. 倒水问题-->经典面试题目

    题目详细: 有两个容器,容积分别为A升和B升,有无限多的水,现在需要C升水.我们还有一个足够大的水缸,足够容纳C升水.起初它是空的,我们只能往水缸里倒入水,而不能倒出.可以进行的操作是:把一个容器灌满 ...