zoukankan      html  css  js  c++  java
  • 机房管理系统——vb与excel链接2

        由于我之前找的文档让我以为在创建表里面走了很大的误区,所以当时我直接就在学生管理系统的文件夹里建了张表,运行时候直接打开这样表就行了。但是这里面还是存在着很大的误区。

         后来我看了周坤的博客感觉他比我的代码优化了好多。我代码里面的好多问题都在他这里面得到解决。(ORZ!!!我做了一下午,忽然有种白做的感觉。)

    “导出为excel”这个按钮大体就是点击按钮便创建一张表,然后把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:ExcelDemo.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; 

  • 相关阅读:
    Autofac
    MYSQL存储过程获取记录总数
    MYSQL通用存储过程
    判断用户用手机访问还是用电脑访问网页
    HttpRuntime.Cache与HttpContext.Current.Cache
    Eclipse之NDK编译-- Type 'jint' could not be resolved, and JNIEnv, jclass错误解决办法
    解决Android adjustresize全屏无效问题
    Android手机使用广播监听手机收到的短信
    使用Jackson解析首字母大写的json字符串
    Android Studio中设置提示函数用法
  • 原文地址:https://www.cnblogs.com/tanqianqian/p/5975070.html
Copyright © 2011-2022 走看看