Sub DownLoadMacro()  '定义过程名称
Dim i As Integer, j As Integer, sht As Worksheet 'i,j为整数变量;sht 为excel工作表对象变量,指向某一工作表
Dim cn As New ADODB.Connection '定义数据链接对象 ,保存连接数据库信息;请先添加ADO引用
Dim rs As New ADODB.Recordset '定义记录集对象,保存数据表
Dim strCn As String, strSQL As String '字符串变量
Dim wshnetwork, info As String Set wshnetwork = CreateObject("WScript.Network")
info = wshnetwork.UserName strCn = "Provider=sqloledb;Server=IP;Database=DATABASENAME;Uid=SA;Pwd=******;"
'定义数据库链接字符串 '下面的语句将读取数据表数据,并将它保存到excel工作表中
strSQL = "SELECT dbo.V_Export.SKU,dbo.V_Export.Model,dbo.V_Export.CCC,dbo.V_Export.CertExpiryDate,dbo.V_Export.Permission,dbo.V_Export.CNW1,dbo.V_Export.CNW2, CASE When dbo.V_Export.PhaseOut ='O2' THEN 'Y' ELSE '' END AS PhaseOut,dbo.V_Export.SatetyStock,dbo.V_Export.Leadtime,dbo.V_Export.[DESC] FROM dbo.V_Export ORDER BY dbo.V_Export.SKU ASC, dbo.V_Export.SatetyStock DESC, dbo.V_Export.Leadtime DESC " '定义SQL查询命令字符串
cn.Open strCn '与数据库建立连接,如果成功,返回连接对象cn
If cn = "" Then MsgBox ("Connect Faild") '提示连接数据库失败 Else rs.Open strSQL, cn '执行strSQL所含的SQL命令,结果保存在rs记录集对象中
i =
Set sht = ThisWorkbook.Worksheets("CacuFromServer") '把sht指向当前工作簿的CacuFromServer工作表
sht.Range("A2:I65536").ClearContents
Do While Not rs.EOF '当数据指针未移到记录集末尾时,循环下列操作
sht.Cells(i, ) = rs("SKU") '把当前记录的字段1的值保存到CacuFromServer工作表的第i行第1列
sht.Cells(i, ) = rs("DESC")
sht.Cells(i, ) = rs("Model") '把当前字段2的值保存到CacuFromServer工作表的第i行第3列
sht.Cells(i, ) = rs("CCC") '把当前记录的字段3的值保存到CacuFromServer工作表的第i行第4列
sht.Cells(i, ) = rs("CertExpiryDate") '把当前记录的字段4的值保存到CacuFromServer工作表的第i行第5列
sht.Cells(i, ) = rs("Permission") '把当前字段5的值保存到CacuFromServer工作表的第i行第6列
sht.Cells(i, ) = rs("SatetyStock") '把当前字段7的值保存到CacuFromServer工作表的第i行第7列
sht.Cells(i, ) = rs("Leadtime") '把当前字段8的值保存到CacuFromServer工作表的第i行第8列
sht.Cells(i, ) = rs("PhaseOut") '把当前字段9的值保存到CacuFromServer工作表的第i行第9列 '
sht.Cells(i, ) = rs("CNW1") '把当前记录的字段10的值保存到CacuFromServer工作表的第i行第10列
sht.Cells(i, ) = rs("CNW2")
sht.Cells(i, ) = rs("SKU")
rs.MoveNext '把指针移向下一条记录
i = i + 'i加1,准备把下一记录相关字段的值保存到工作表的下一行
Loop '循环
rs.Close '关闭记录集,至此,程序将把某数据表的字段1到字段6保存在excel工作表CacuFromServer的第1到6列,行数等于数据表的记录数 strSQL = "insert into dbo.DIM_LogInfo values('" & info & "',getdate())" cn.Execute strSQL '执行strSQL所含的SQL命令 strSQL = "select max(exportDate) as ExportFinalDate from dbo.DIM_LogInfo"
rs.Open strSQL
Set sht = ThisWorkbook.Worksheets("Search") '把sht指向当前工作簿的CacuFromServer工作表
sht.Cells(, ) = rs("ExportFinalDate")
rs.Close cn.Close '关闭数据库链接,释放资源 MsgBox ("Download Succeed") '提示导出成功 End If End Sub

Use excel Macro export data from database的更多相关文章

  1. NetSuite SuiteScript 2.0 export data to Excel file(xls)

    In NetSuite SuiteScript, We usually do/implement export data to CSV, that's straight forward: Collec ...

  2. Export Data from mysql Workbench 6.0

    原文地址:export-data-from-mysql-workbench-6-0 问题描述 I'm trying to export my database, using MySQL Workben ...

  3. SQL Server 2014新特性:五个关键点带你了解Excel下的Data Explorer

    SQL Server 2014新特性:五个关键点带你了解Excel下的Data Explorer Data Explorer是即将发布的SQL Server 2014里的一个新特性,借助这个特性讲使企 ...

  4. xlwings: Write Excel macro using python instead of VBA

    i want to write Excel macros to deal with the data, but i am not familiar with VBA language. so i de ...

  5. How to export data from Thermo-Calc 如何从Thermo-calc导出文本数据

    记录20180510 问题:如何从thermo-calc导出文本数据供origin绘图? 解决: In Thermo-Calc graphical mode, you can just add a ' ...

  6. 1.3 Quick Start中 Step 7: Use Kafka Connect to import/export data官网剖析(博主推荐)

    不多说,直接上干货! 一切来源于官网 http://kafka.apache.org/documentation/ Step 7: Use Kafka Connect to import/export ...

  7. [转]Introduction - Run Excel Macro using VBScript

    本文转自:https://wellsr.com/vba/2015/excel/run-macro-without-opening-excel-using-vbscript/ Have you ever ...

  8. C# Note38: Export data into Excel

    Microsoft.Office.Interop.Excel You have to have Excel installed. Add a reference to your project to ...

  9. SQL Server 2014 BI新特性(一)五个关键点带你了解Excel下的Data Explorer

    Data Explorer是即将发布的SQL Server 2014里的一个新特性,借助这个特性讲使企业中的自助式的商业智能变得更加的灵活,从而也降低了商业智能的门槛. 此文是在微软商业智能官方博客里 ...

随机推荐

  1. [转]ASP.NET MVC 入门2、项目的目录结构与核心的DLL

    我们新建一个ASP.NET MVC的Web Application后,默认的情况下,项目的目录结构如下: App_Data :这个目录跟我们一般的ASP.NET website是一样的,用于存放数据. ...

  2. 基于duilib实现的可滑动tab标签控件

    最近一直在忙棋牌游戏大厅的开发,使用了duilib界面库,在大厅界面游戏菜单的展现上需要用到滑动的效果,类似悠扬棋牌,jj棋牌的菜单左右(上下)滑动的效果.通过自己的设计思路完善了一个可滑动的tab标 ...

  3. Linux经久不衰的应用程序

    Linux里面的应用程序一贯以高安全性,高性价比(功能/所占空间),此次记录一下Linux里面比较常用的而且经久不衰的应用程序. Shell:               bash(它结合了 csh ...

  4. 【原创】关于hashcode和equals的不同实现对HashMap和HashSet集合类的影响的探究

    这篇文章做了一个很好的测试:http://blog.csdn.net/afgasdg/article/details/6889383,判断往HashSet(不允许元素重复)里塞对象时,是如何判定set ...

  5. HW4.3

    public class Solution { public static void main(String[] args) { final double POUND_PER_KILOGRAM = 2 ...

  6. (一)Redis初学教程之安装篇

    1.下载windows下Redis服务安装程序(有32位的和64位的,识操作系统安装) 下载地址:https://github.com/dmajkic/redis/downloads 2.安装教程(详 ...

  7. vue相关

    勾三股四的vue+webpack实战:http://jiongks.name/blog/just... 用Vue构建一个Notes App:https://coligo.io/learn-vuex-. ...

  8. Play!framework 项目部署到Tomcat

    Play Framework有自带的服务器,也可部署到其他服务器上.这里讲解下如何将Play的项目部署到Tomcat. 1.准备war包 首先进入play目录: 比如我的: cd C:\play-1. ...

  9. gulp自己主动化任务脚本在HybridApp开发中的使用

    眼下做前端开发的同学可能都熟悉grunt.fis之类的自己主动化构建工具.事实上在HybridApp开发中我们也能够使用这些工具来简化我们的工作.gulp就是一个比grunt,fis都先进的构建工具. ...

  10. Lua代码解析-写给C和C++开发人员

    lua语言作为一门轻量级脚本语言,能够非常好的被嵌入到应用程序,因此,在移动游戏开发中举足轻重 然后C/C++开发人员转lua并非非常习惯,我也是..所以,一起努力学习lua吧 lua没有类的概念,有 ...