步骤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 数据库读取数据!!!!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)