×

excel自动抓取数据库数据 抓取数据

excel自动抓取数据库数据(Excel如何根据日期自动抓取数据)

admin admin 发表于2023-01-04 13:14:27 浏览63 评论0

抢沙发发表评论

本文目录

Excel如何根据日期自动抓取数据


1、首先需要打开一个Excel表格。

2、接下来需要在一列单元格内输入日期(年-月-日)。

3、选中该列显示日期的单元格,重新在其右侧复制一列。

4、选中复制后的单元格,点击鼠标右键,选择“设置单元格格式”。

5、弹出“设置单元格格式”对话框,选择“数字”选项下方的[日期],再在“类型”下方选择[星期三],最后点击[确定]。

6、回到Excel表格,星期已根据日期获取成功啦。


如何在EXCEL中自动读取ACCESS数据库中的信息


用access自动获取excel里的数据的方法就是通过代码的方式导入。
如果是手动导入比较清楚的话,这个实现起来不难,请参考下面的介绍来实现:
首先,新建一个工程,在工程中引用如下对象ADO对象(用于连接ACCESS数据库,可用其它方式),添加一个窗体(from1),在窗体上添加如下控件:
两个文本框,用来显示EXCEL文件路径和ACCESS路径;
四个扭钮,两个用来游览,另两个是导入和退出;
两个通用对话框控件,用来打开ACCESS和EXCEL文件,一个进度条控件,用来显示导入进程。
该实例的导入是将ACCESS数据库中表的字段名单独存放在另外一个表中,导入时按表中所存字段名的顺序进行导入,不是按EXCEL表的顺序导入,这样在实际中是很实用的.
因为好多时候EXCEL表中字段顺序和ACCESS中字段顺序有可能不是一致的.
代码如下:
Dim v
Option Explicit
Private Sub cmdLoad_Click()
Dim excel_app As Object
Dim excel_sheet As Object
If txtExcelFile.Text = ““ Then
MsgBox “请选择EXCEL表“
Else
Dim new_value As String
Label2.Caption = “正在导入,请稍候...“
Screen.MousePointer = vbHourglass
DoEvents
’’ Create the Excel application.
Set excel_app = CreateObject(“Excel.Application“)
’’ Uncomment this line to make Excel visible.
excel_app.Visible = True
’’ Open the Excel spreadsheet.
excel_app.Workbooks.open FileName:=txtExcelFile.Text
’’ Check for later versions.
If Val(excel_app.Application.Version) 》= 8 Then
Set excel_sheet = excel_app.ActiveSheet
Else
Set excel_sheet = excel_app
End If
Dim u ’’求EXCEL表中记录的条数,以便控制进度条
u = 1
Do
If Trim$(excel_sheet.Cells(u, 1)) = ““ Then Exit Do
u = u + 1
Loop
bar.Max = u - 1
strSQL = “select * from TestValues“
yourRecord.open strSQL, myConn, adOpenDynamic, adLockOptimistic ’’打开记录集
Dim sql As String
sql = “select * from fields order by xue“
myRecord.open sql, myConn, adOpenDynamic, adLockBatchOptimistic ’’打开字段记录集
myRecord.MoveFirst
’’ Get data from the Excel spreadsheet and insert
’’ it into the TestValues table.
Dim v ’’导入记录,用了两层循环
v = 1
Do
If Trim$(excel_sheet.Cells(v, 1)) = ““ Then Exit Do ’’外层,
yourRecord.AddNew
Dim i
For i = 1 To myRecord.RecordCount
’’ Get the next value.
new_value = Trim$(excel_sheet.Cells(v, i))
’’ See if it’’s blank.
’’If Len(new_value) = 0 Then Exit Do
’’ Insert the value into the database.
Dim bb As String
bb = myRecord(“name“)
yourRecord(bb) = new_value
myRecord.MoveNext
Next i
bar.Value = v
v = v + 1
myRecord.MoveFirst
Loop
yourRecord.Update
’’ Comment the rest of the lines to keep
’’ Excel running so you can see it.
’’ Close the workbook without saving.
excel_app.ActiveWorkbook.Close False
’’ Close Excel.
excel_app.Quit
Set excel_sheet = Nothing
Set excel_app = Nothing
myRecord.Close
yourRecord.Close
Set myRecord = Nothing
Set yourRecord = Nothing
Label2.Caption = “导入完毕“
Screen.MousePointer = vbDefault
MsgBox “共导入“ & Format$(v - 1) & “条记录“
End If
End Sub
Private Sub Command1_Click()
Unload Me
End Sub
Private Sub Command2_Click(Index As Integer)
’’寻找ACCESS数据库
CommonDialog1.Filter = “ACCESS 文件(*.mdb)|*.mdb“
CommonDialog1.CancelError = True
CommonDialog1.ShowOpen
txtAccessFile.Text = CommonDialog1.FileName
End Sub
Private Sub Command3_Click()
’’寻找excel数据库
CommonDialog2.Filter = “excel 文件(*.xls)|*.xls“
CommonDialog2.CancelError = True
CommonDialog2.ShowOpen
txtExcelFile.Text = CommonDialog2.FileName
End Sub
Private Sub Form_Load()
Call Module1.lianjie
txtAccessFile.Text = datapath
End Sub
模块(module1)中的代码如下:
Public myConn As New ADODB.Connection ’’定义连接字符串
Public myRecord As New ADODB.Recordset ’’定义记录集(字段)
Public yourRecord As New ADODB.Recordset ’’定义记录集(数据)
Public cntoad As Boolean ’’是否正常连接
Public ml ’’姓名字段所在列
Public strSQL ’’查询字符串
Public MyDatabase As Database ’’定义数据库名
Public MyTable As TableDef, MyField As Field ’’定义表名和字段名
Public xuehao ’’读取字段序号
Public goshiRecord As New ADODB.Recordset ’’定义记录集(公式)
Public hxfyn As Boolean
Public hxfbds ’’ 公式或条件
Public duan ’’要统计的字段
Public islinshi As Boolean ’’是否为临时公式
Public leiRecord As New ADODB.Recordset ’’定义记录集(工资类别)
Public datapath As String ’’数据库路径及名
Public table As String ’’工资表名
Public lei As String ’’ 工资类别
Public Sub lianjie() ’’打开数据库
On Error Resume Next
myConn.Close
Dim mySQL As String
’’设定连接字符串
mySQL = “Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;“
mySQL = mySQL + “Data Source=“ & datapath
myConn.ConnectionString = mySQL ’’设定连接
myConn.open ’’打开连接
myRecord.ActiveConnection = myConn ’’设定RecordSeet的连接对象为Connection
myRecord.CursorLocation = adUseClient
goshiRecord.ActiveConnection = myConn ’’设定RecordSeet的连接对象为Connection
goshiRecord.CursorLocation = adUseClient
yourRecord.ActiveConnection = myConn ’’设定RecordSeet的连接对象为Connection
yourRecord.CursorLocation = adUseClient
End Sub

如何通过Excel查询MySQL数据库


这里介绍一种非常高效的方法。就是借助Excel插件SqlCel,这个插件在处理数据上面有很多可取之处,非常值得学习。

比如在Excel中有一个订单ID字段,这个字段总共有2千条记录,现在我们要查询这些订单对应的产品名称。

在Mysql数据库中有一张订单表里面存储了所有订单的详细信息。我们该怎样操作才能最快速地查到每个订单的产品名称呢?

多数人的做法应该是把Excel中的数据导入到Mysql中,然后写一个SQL语句匹配订单表,然后把匹配结果再导出来。这种做法也是可以的,只是非常不方便,单是数据的导入可能就会遇到不少麻烦。用SqlCel处理这个问题就简单了

插件安装之后需要连接到Mysql数据库,点击“数据库连接”下的Mysql,输入连接信息。如下:

连接到数据库之后,点击“SQL查询”进入数据查询编辑器。

这个编辑器和我们平时使用的编辑器一样,可以高亮显示,智能提示,选取执行。同时它还有很多特别的地方,比如定义变量,引用变量、引用Excel单元格、指定数据的来源和去向等。这里我们要说的是它的一个函数RNGTOSTR,这个函数用来将Excel单元格的值转为字符串并拼接到SQL语句中。我们在编辑器中写SQL语句如下:

SELECT DISTINCT PRODUCT_NAME,PRODUCT_ID FROM ORDER_TABLE WHERE PRODUCT_ID IN (’rngtostr([Sheet1!A1:A1000],’\,’,true)’)

这样一个SQL语句就可以把每一个产品ID对应的产品名称查询到当前Excel中了。

这里面用到了一个函数rngtostr,放一张官网的截图看一下具体的用法


excel如何用宏自动抓取数据


工具/原料

机械革命S3 Pro

Windows10

Excel2019

1、点击视图

点击菜单栏上“视图-宏”,下拉选择录制宏。

2、输入宏名

在名字输入框内输入宏的名称。

3、录制步骤

在表格中B1单元格内输入公式“=A1”。

4、执行宏

点击菜单栏上宏,打开对话框,点击执行。

5、抓取数据

单元格B2抓取到A2单元格内数据。


如何使用EXCEL读取外部数据库数据


步骤1:点击开始,打开Microsoft Excel 2010。
2
步骤2:打开之后,点击数据,其他来源,来自SQL Server。
3
步骤3:打开数据链接向导之后,输入服务器名称和登陆用户名和密码。点击下一步。
步骤4:点击下一步之后,报错,不能够正常链接数据库。
步骤5:打开SQL Server 数据库代理服务器,查看代理停止工作,将其启动。
步骤6:修改服务器名称为SQL Server所在的服务器的IP地址填写入服务器名称,登陆名称和密码全部为sa。
步骤7:进入,选择数据库和表。选择PUBS,点击下一步。
步骤8:点击下一步,保持链接文件,点击完成。
步骤9:点击导入数据
步骤10
连接属性,连接名称:172.16.0.31
pubs employee,连接文件:C:\Documents and Settings\lys\My
Documents\我的数据源\172.16.0.31 pubs employee.odc 连接字符串:
Provider=SQLOLEDB.1;Persist Security Info=True;User ID=sa;Data
Source=172.16.0.31;Use Procedure for Prepare=1;Auto
Translate=True;Packet Size=4096;Workstation ID=L10-1DA235E90;Use
Encryption for Data=False;Tag with column collation when
possible=False;Initial Catalog=pubs 命令文本:“pubs“.“dbo“.“employee“
步骤11:点击确定,输入密码Sa。
步骤12: 我们可以看到将SQL Server数据写入了EXCEL中。
查询EXCEL中数据库:
查询数据库中数据:
SELECT *
FROM employee

excel中如何提取我想要的数据


  • 首先打开excel软件。

    请点击输入图片描述

  • 2

    然后打开excel文件。

    请点击输入图片描述

  • 3

    然后点击“查找和选择”。

    请点击输入图片描述

  • 4

    然后点击“查找”。

    请点击输入图片描述

  • 5

    然后输入相关的查找内容并点击“查找全部”。

    请点击输入图片描述

  • 6

    最后excel会自动定位与你查找内容相近的单元格。

    请点击输入图片描述


怎样让excel从金蝶中抓取数据


让excel从金蝶中抓取数据:一般情况下,大型的eRP使用Oracle DB的比较多,可以询问系统维护人员API信息,可以直接通过微软的Excel,access进行访问。

操作系统开始菜单中所有程序,金蝶KIS专业版中找到系统工具 数据交换平台,里面选择基础数据,导入数据,然后选择EXCEL表格所在路径,主要表格名必须为供应商,而且注意EXCEL表格中供应商代码和名称必须录入,而且是否为明细字段不能为空。

其他程序:

Microsoft Binder——把多个文件合并为一个文件。

Binder对微软来说是一个大规模的失败,并且普及程度很低。因此Office的新版本经常没有这个软件。

Microsoft Entourage——仅用于Macintosh的个人信息管理程序和电子邮件软件。(与Outlook类似)。

Microsoft MapPoint——绘图和旅行计划软件。(自2016版开始作为Excel的组件附赠)。


如何实现EXCEL实时提取SQL中表的数据


用VBA实现
Sub 连接数据库1()
Set Cnn = CreateObject(“ADODB.Connection“)
Set rt = CreateObject(“ADODB.Recordset“)
ID = “localhost“
Cnn.ConnectionString = “Provider = SQLOLEDB;server=“ & ID & “;User ID= sa;password=sa;Data Source=“ & test & “;“ & “Initial Catalog = test“
Cnn.Open
SQL = “select * from 成绩表 “
Set rt = Cnn.Execute(SQL)
With Sheet1
For i = 0 To rt.Fields.Count - 1
.Cells(1, i + 1) = rt.Fields(i).Name
Next i
.Range(“a2“).CopyFromRecordset rt
.Cells.EntireColumn.AutoFit
End With
Set Cnn = Nothing
Set rt = Nothing
End Sub