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

如何使用EXCEL读取外部数据库数据,第1张

步骤1:点击开始,打开Microsoft Excel 2010。

2

步骤2:打开之后,点击数据,其他来源,来自SQL Server。

3

步骤3:打开数据链接向导之后,输入服务器名称和登陆用户名和密码。点击下一步。

步骤4:点击下一步之后,报错,不能够正常链接数据库。

步骤5:打开SQL Server 数据库代理服务器,查看代理停止工作,将其启动。

步骤6:修改服务器名称为SQL Server所在的服务器的IP地址填写入服务器名称,登陆名称和密码全部为sa。

步骤7:进入,选择数据库和表。选择PUBS,点击下一步。

步骤8:点击下一步,保持链接文件,点击完成。

步骤9:点击导入数据

步骤10

连接属性,连接名称:17216031

pubs employee,连接文件:C:\Documents and Settings\lys\My

Documents\我的数据源\17216031 pubs employeeodc 连接字符串:

Provider=SQLOLEDB1;Persist Security Info=True;User ID=sa;Data

Source=17216031;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

matlab的帮助里面有例子:

Example -- Importing Data From an Excel Application

Assume that you have an Excel spreadsheet stocksxls This spreadsheet contains the prices of three stocks in row 3 (columns 1 through 3) and the number of shares of these stocks in rows 6 through 8 (column 2) Initiate conversation with Excel with the command

channel = ddeinit('excel','stocksxls')

DDE functions require the rxcy reference style for Excel worksheets In Excel terminology the prices are in r3c1:r3c3 and the shares in r6c2:r8c2

Request the prices from Excel:

prices = ddereq(channel,'r3c1:r3c3')

prices =

4250 1500 7888

Next, request the number of shares of each stock:

shares = ddereq(channel, 'r6c2:r8c2')

shares =

10000

50000

30000

1、首先打开SQL Server数据库,准备一个要导入的数据表,如下图所示,数据表中插入一些数据

2、接下来打开Excel软件,点击数据菜单,然后选择其他来源下面的来自SQL Server选项

3、然后会d出数据库连接向导界面,在输入框里面输入服务器名称,也就是计算机名

4、接下来就会出现导入内容的具体设置界面了,我们选择要导入表,并且选择一个空白单元格位置作为数据的导入位置

5、最后点击确定按钮,我们就可以看到SQL Server中的数据就导入进Excel里了

曾用C++ Builder 写过EXCEL *** 作。

一般有两种方法:

1,用ADO连续EXCEL数据库,这种方式, *** 作可用SQL来 *** 作。

2,用OLE方式,这种方式可以达到EXCEL中大部分的功能和 *** 作。

以下供参考:

/ 1--- ADO /

//h

//---------------------------------------------------------------------------

#ifndef Unit1H

#define Unit1H

//---------------------------------------------------------------------------

#include <Classeshpp>

#include <Controlshpp>

#include <StdCtrlshpp>

#include <Formshpp>

#include <ADODBhpp>

#include <DBhpp>

#include <DBGridshpp>

#include <Dialogshpp>

#include <Gridshpp>

//---------------------------------------------------------------------------

class TForm1 : public TForm

{

__published: // IDE-managed Components

TButton btnOpen;

TButton btnExit;

TOpenDialog OpenDialog1;

TButton btnEx;

TDataSource DataSource1;

TADOConnection ADOConnection1;

TADOQuery ADOQuery1;

TDBGrid DBGrid1;

void __fastcall btnExClick(TObject Sender);

void __fastcall btnOpenClick(TObject Sender);

void __fastcall btnExitClick(TObject Sender);

private: // User declarations

public: // User declarations

__fastcall TForm1(TComponent Owner);

};

//---------------------------------------------------------------------------

extern PACKAGE TForm1 Form1;

//---------------------------------------------------------------------------

#endif

//cpp

//---------------------------------------------------------------------------

#include <vclh>

#include <stdioh>

#pragma hdrstop

#include "Unit1h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "dfm"

TForm1 Form1;

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent Owner)

: TForm(Owner)

{

DBGrid1->DataSource = DataSource1;

DataSource1->DataSet = ADOQuery1;

ADOQuery1->Connection = ADOConnection1;

ADOConnection1->LoginPrompt = false;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::btnExClick(TObject Sender)

{

if(ADOQuery1->Active && ADOQuery1->RecordCount>0 )

{

int col;

AnsiString s;

FILE fp;

fp = fopen("c:\\outtxt","w+t");

if(fp==NULL)

{

Application->MessageBox("导出文件建立失败","提示");

return ;

}

col = ADOQuery1->Fields->Count;

ADOQuery1->First();

while(!ADOQuery1->Eof)

{

s = "";

for(int i=0;i<col;i++)

s += ADOQuery1->Fields->Fields[i]->AsString +"\t";

fprintf(fp,"%s\n",sc_str());

ADOQuery1->Next();

}

fclose(fp);

}

else

{

Application->MessageBox("没有需要导出的记录,请重新打开XLS文件","提示");

}

}

//---------------------------------------------------------------------------

void __fastcall TForm1::btnOpenClick(TObject Sender)

{

AnsiString sFile="";

AnsiString sCon;

if(OpenDialog1->Execute())

{

sFile = OpenDialog1->FileName;

/

sCon = AnsiString("Driver={Microsoft Excel Driver (xls)};DBQ=")

+ sFile +"; ";

/

sCon = AnsiString("Provider=MSDASQL1;Persist Security Info=False;Extended Properties='DSN=Excel Files;DBQ=")

+ sFile +"'; ";

}

try

{

if(sFile!="")

{

ADOConnection1->Connected = False;

ADOConnection1->ConnectionString = sCon;

ADOConnection1->Connected = True;

}

}

catch()

{

Application->MessageBox("连接XLS失败","提示");

return ;

}

if(ADOConnection1->Connected)

{

AnsiString sSQL = "Select from [Sheet1$]";

ADOQuery1->SQL->Text = sSQL;

ADOQuery1->Active = True;

}

}

//---------------------------------------------------------------------------

void __fastcall TForm1::btnExitClick(TObject Sender)

{

Close();

}

//---------------------------------------------------------------------------

/ 2-- OLE /

C++ Builder把Excel自动化对象的功能包装在下面的四个Ole Object Class函数中,应用人员可以很方便地进行调用。

设置对象属性:void OlePropertySet(属性名,参数……);

获得对象属性:Variant OlePropertyGet(属性名,参数……);

调用对象方法:1) Variant OleFunction(函数名,参数……);

2) void OleProcedure(过程名,参数……);

在程序中可以用宏定义来节省时间:

#define PG OlePropertyGet

#define PS OlePropertySet

#define FN OleFunction

#define PR OleProcedure

举例:

ExcelAppOlePropertyGet("workbooks")OleFunction("Add");

可写为

ExcelAppPG("workbooks")FN("Add");

C++ Builder中使用OLE控制Excel2000,必须掌握Excel2000的自动化对象及Microsoft Word Visual Basic帮助文件中的关于Excel的对象、方法和属性。对象是一个Excel元素,属性是对象的一个特性或 *** 作的一个方面,方法是对象可以进行的动作。

首先定义以下几个变量:

Variant ExcelApp,Workbook1,Sheet1,Range1;

1、Excel中常用的对象是:Application,Workbooks,Worksheets等。

★创建应用对象★

Variant ExcelApp;

ExcelApp = Variant::CreateObject ("ExcelApplication");

或者

ExcelApp = CreateOleObject ("ExcelApplication");

★创建工作簿对象★

Variant WorkBook1;

WorkBook1 = ExcelAppPG("ActiveWorkBook");

★创建工作表对象★

Variant Sheet1;

Sheet1 = WorkBook1PG("ActiveSheet");

★创建区域对象★

Variant Range;

Range = Sheet1PG("Range","A1:A10");

或者使用

ExcelExec(PropertyGet("Range")<<"A1:C1")Exec(Procedure("Select"));

2、常用的属性 *** 作:

★使Excel程序不可见★

ExcelAppPS("Visible", (Variant)false);

★新建EXCEL文件★

◎ 新建系统模板的工作簿

ExcelAppPG("workbooks")FN("Add") //默认工作簿

ExcelAppPG("workbooks")FN("Add", 1) //单工作表

ExcelAppPG("workbooks")FN("Add", 2) //图表

ExcelAppPG("workbooks")FN("Add", 3) //宏表

ExcelAppPG("workbooks")FN("Add", 4) //国际通用宏表

ExcelAppPG("workbooks")FN("Add", 5) //与默认的相同

ExcelAppPG("workbooks")FN("Add", 6) //工作簿且只有一个表

或者使用ExcelApp的Exec方法

ExcelExec(PropertyGet("Workbooks"))Exec(Procedure("Add"));

◎ 新建自己创建的模板的工作簿

ExcelAppPG("workbooks")FN("Add", "C:\\Temp\\resultxlt");

★打开工作簿★

ExcelAppPG("workbooks")FN("open", "路径名xls")

★保存工作簿★

WorkBook1FN("Save"); //保存工作簿

WorkBook1FN("SaveAs", "文件名");//工作簿保存为,路径注意用"\\"

★退出EXCEL★

ExcelAppFN ("Quit");

ExcelApp = Unassigned;

或者

ExcelAppExec(Procedure("Quit"));

★ *** 作工作表★

◎ 选择选择工作表中第一个工作表

Workbook1PG("Sheets", 1)PR("Select");

Sheet1 = Workbook1PG("ActiveSheet");

◎ 重命名工作表

Sheet1PS("Name", "Sheet的新名字");

◎ 当前工作簿中的工作表总数

int nSheetCount=Workbook1PG("Sheets")PG("Count");

★ *** 作行和列★

◎ 获取当前工作表中有多少行和多少列:

Sheet1PG("UsedRange")PG("Columns")PG("Count"); //列数

Sheet1PG("UsedRange")PG("Rows")PG("Count"); //行数

◎ 设置列宽

ExcelAppPG("Columns", 1)PS("ColumnWidth", 22);

或者

Range = ExcelAppPG("Cells", 1, 3);

RangePS("ColumnWidth", 22);

◎ 设置行高

ExcelAppPG("Rows", 2)PS("RowHeight", 25);

或者

Range = ExcelAppPG("Cells", 2, 1);

RangePS("RowHeight", 25);

◎ 在工作表最前面插入一行

Sheet1PG("Rows", 1)PR("Insert");

◎ 删除一行

ExcelAppPG("Rows", 2)PR("Delete"); //将第2行删除

// 本文作者:ccrun ,如转载请保证本文档的完整性,并注明出处。

// 欢迎光临 C++ Builder 研究 > // 摘自:>

可以用excel

vba实现

首先你要安装vb

然后开始遍程序

使用ado技术连接数据库

然后根据excel中的数据遍历数据库中的数据,找到相关的数据来显示

cels()对象可以调用excel单元格的数值

如果你输入的数据不是很准确,可以使用模糊查询函数like

你要实现的功能用vba编程可以很简单的

根本用不了几句代码

如果你还是不明白可以到我空间流言,我回给你详细解答

以上就是关于如何使用EXCEL读取外部数据库数据全部的内容,包括:如何使用EXCEL读取外部数据库数据、怎么用c读取excel中的数据,或者用MATLAB读取,2000行62列,要能执行的程序段,急、如何才能用EXCEL去连接SQL 数据库读取数据!!!!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9866520.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存