vb吐槽班06 进击的Excel

来源:互联网 发布:大数据英语怎么说 编辑:程序博客网 时间:2024/06/05 03:36
   诶,好的好的,今天依旧小满来到了。。。咳咳。。。拿错稿子了。

   hello各位亲爱的观众朋友们,欢迎收看又是我给大家带来的大型情感类节目,非诚。。。哦,不是,是这个吐槽班。

  最近是有点头晕啊,可能是吃饭的时候这个没注意营养什么的,dota元素缺乏了。。。

  经过了中秋节五天连续的学习之后,又是迎来了十一九天课,越上越快乐。当我听到十月一主要学英语的时候,我只能说:感觉自考不会再过了。。。

  不光自考,计算机进度也不快。前两天老李也是问我:咋就不着急呢?我也不知道为啥,还真就是不着急。。。当然像我这么狂拽酷炫叼霸天的乐观心态和满到令人绝望的课程表,一般人是不会有的。

  机房收费系统反正是弄了一半了吧,我是觉得只要思路清晰了,其他的都是小事。。。可是。。。尼玛我就卡在小事上了。。。

  上下机的那个算法想了好长时间都觉得差点什么,怎么算都不对,哎~算了,那就先搞别的,这也是终于发现了一些和技术沾边的东西啊。

  以前呢,作品展的时候也是为了达到某些目的,曾经写过关于Excel的代码吧。等我翻出当时的博客却发现那是读数据的,用的是DAO达成的目的。这次是要将MSHFlexGrid中的数据导入Excel,那么。。。好吧,我还是问度娘好了。

  最后呢也是看了老李写的博客吧,终于是搞定了这个东西。像这种经常要反复用到的代码最好还是弄一个自定义函数。

Public Function OutPutToExcel(MyFlexGrid As MSHFlexGrid)'*******************************************'功能:'             导入数据到Excel'参数:'             MyFlexGrid     ——要导入Excel的数据源'*****************************************    Dim i As Integer    Dim j As Integer                            '用来循环            Dim Excelapp As Excel.Application           '定义一个Excel应用    Dim Excelworkbook As Excel.Workbook         '定义一个工作簿    Dim Excelworksheet As Excel.Worksheet       '定义一个工作表        On Error Resume Next        Set Excelapp = CreateObject("Excel.Application")    Set Excelworkbook = Excelapp.Workbooks.Add    Set Excelworksheet = Excelworkbook.Worksheets(1)   '将上面那三个玩意实例化,就是创建对象        Excelworksheet.Activate                With MyFlexGrid                             '将MSHFlexGrid中的数据写进去        For i = 0 To .Rows - 1            For j = 0 To .Cols - 1                DoEvents                Excelapp.ActiveSheet.Cells(i + 1, j + 1) = .TextMatrix(i, j)            Next j        Next i    End With        Excelapp.Visible = True                     '显示Excel表   End Function

   好的这差不多就这样了,整完了原型中的代码,我这也是发挥了一下恶搞能力吧,能把数据库中的数据导出来,能不能把Excel中的数据导进去呢,我觉得一定是可以的。

    Dim cn As ADODB.Connection    Dim strSQL As String    Dim lngRecsAff As Long        '连接Excel数据源    Set cn = New ADODB.Connection    cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _            "Data Source=C:\test\xltestt.xls;" & _            "Extended Properties=Excel 8.0"            '使用 Jet 4.0 Provider 通过 ADO 连接将 Excel 数据导入到 SQL Server。    strSQL = "SELECT * INTO [odbc;Driver={SQL Server};" & _             "Server=<server>;Database=<database>;" & _             "UID=<user>;PWD=<password>].XLImport9 " & _             "FROM [Customers$]"    Debug.Print strSQL        '执行导入数据    cn.Execute strSQL, lngRecsAff, adExecuteNoRecords    Debug.Print "Records affected:" & lngRecsAff                cn.Close    Set cn = Nothing

   这个是在微软的支持中找到的一种使用方法,这里面用的就是ADO,所以我就可耻的复制过来了。不过我觉得使用之前数据类型一定要先对了,否则出啥问题找微软去,不要找我~

  其实,SQL Server自带导入数据的功能,直接在企业管理器中右键想要导入数据的数据库,任务,导入数据,然后跟着向导走就行了,比较无脑,就不详细说了。

  诶。。。怎么感觉这是三角关系。。。

  这两天真的是有点感冒啊,估计是上铺那哥们传给我的,幸好我还没有放弃治疗,提前找出感冒药吃了一片。要不是还要好好学习,我还真就请个假回家啥的。。。这说出来我自己都不信啊。。。

  刚才还看到某同学说我不更新,我就更给你看,虽然不是啥知名节目,好歹我这也是个自己给自己认证的博客专栏,不能随随便便就写点东西就算更新是吧。

      好了,这期就到这了。接下来就是大家喜闻乐见的右上角红叉叉时间。

以上