如何把数据库中数据导成excel文件

如何把数据库中数据导成excel文件,第1张

Access和Excel都是微软的产品,其最大特点就是有较好的兼容性。所以使用微软的office套件。打开access数据库表,通过简单的拷贝就可以直接复制到excel表格中。

这里不知道你的用途是什么,如果是程序设计需要,需要通过相应的API来实现。各种程序设计语言提供了不同方式与方法。最简单的是微软公司自己的在net开发环境下提供有dll的动态连接库接口

不知道你是不是在做net编程,下面的答案也许对你有用,我以前做过,应该对大数据有效

一些系统可能需求把数据导出到Access或者Excel文件格式,以方便的传递数据、打印等。

Excel 文件或者 Access这两种需要导出的文件可能并不是事先就存在的,这就需要我们自己编程生成他们,下面整理一下生成这两个文件的一些方法,只罗列最常用的。并不全。

一、首先生成Excel文件。

方案一、如果用Excel保存的只是二维数据,也就是把他当数据库的来用。

最简单,你不用引用任何额外组件,只需要用 OLEDB 就可以完成创建Excel文件。 范例代码如下。

using SystemDataOleDb;public static void CreateExcelFile2()

using SystemDataOleDb;public static void CreateExcelFile2()

在你执行创建表的同时,系统如果发现Excel文件不存在,就自动完成了Excel文件的创建。这点如果没接触过的人,可能会不知道的。

至于对其中的增加、修改 *** 作, 跟普通数据库没啥两样,就不描述了。

可以参考以下文章:

方案二、直接生成一个使用间隔符号隔开每一项数据的纯文本文件,但是文件的后缀是 XLS 。

注意:这时候,如果你直接用Excel打开这样的文件,没问题,一切正常,但是如果你用ADOnet 读取这个文件的时候,你的链接引擎不应该是Excel,而是文本文件(Microsoft Text Driver)。也就是链接字符串不应该是

"Provider=MicrosoftJetOLEDB40;Data Source=c:\\aa2xls;Extended Properties=Excel 80;"

而应该是下面的方式:

OLEDB的方式连接字符串:

Provider=MicrosoftJetOLEDB40;Data Source=C:\\11txt;Extended Properties='text;HDR=No;FMT=TabDelimited'

ODBC的方式读TXT字符串写法:

Driver=;Dbq=C:\\11txt;Extensions=asc,csv,tab,txt;

请参考以下文章:

方案三、你要创建的Excel文件,有一些Excel自己的特色需要创建,这就需要使用 Com 了,即:Microsoft Excel Object Library了

请添加 Microsoft Excel 110 Object Library 对它的引用,根据你装的Office的版本,这个组件库的版本也不一样。

范例代码:

public static void CreateExcelFile()

我这里只是简单的创建了Excel文件,没有更多的 *** 作Excel,如果希望看到更多的 *** 作方法,请参考以下几篇文章:

;en-us;306023&Product=vcSnet#6

二、生成Access 数据库

Access 毕竟是一个数据库,所以Excel上述第一种方法,无法适用。

创建Access 数据库文件可以使用 ADOX,

ADOX与OleDB的区别:ADOX是 data api 只是一个接口, OLEDB 是数据提供者,API 去调用 数据提供者。

范例代码:

使用前,请添加引用 Microsoft ADO Ext 2x for DDL and Security 根据你的 *** 作系统,可能这里的版本也不一样。

using ADOX;using SystemIO; public static void CreateAccessFile(string FileName) }

上述代码只是生成了Access数据库,适用ADOX你也可以 *** 作数据库,增加表等等 *** 作,具体请参考以下文章:

引自

以下都只是介绍 *** 作的原理,具体要求要在应用中具体分析改变。

1 此方法常用在form或者Console Application中,使用时须用要添加Reference,具体做法:

右键点击项目添加“Add Reference”,在Tom组件下,选择“Microsoft Excel 140 Object Library”,然后在项目中使用

下面注释//it looks like excele table start with 1 not 1

应该为//it looks like excele table start with 1 not 0

[csharp] view plaincopy

private static void exportToExcel(DataTable dt)

{

ExcelApplication excel=new ExcelApplication();

excelApplicationWorkbooksAdd(true);

excelVisible = true;

//get the columns

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

{

//here is started with 1

//it looks like excele table start with 1 not 1

excelCells[1, i + 1] = dtColumns[i]ColumnNameToString();

}

//get the data in rows

for (int row = 0; row < dtRowsCount;row++ )

{

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

{

excelCells[row+2, col+1] = dtRows[row][dtColumns[col]]ToString();

}

}

//FolderBrowserDialog path = new FolderBrowserDialog();//打开文件对话框

//pathShowDialog();

//textBox1Text = pathSelectedPath;//选择文件夹

//save excel

//excelSaveWorkspace();

excelQuit();

}

2 在web应用中,可通过>

1、首先打开软件,可以看到,数据库中有一张student表,现在要把这张表中的数据导出成excel文件。

2、在这张表上右击,选择“Export”,再选择“Export Table Data as CSV,SQL,Excel etc ”。

3、然后在导出配置页面中,选择“Excel XML”类型。

4、然后点击下面的三个点按钮,选择导出路径。

5、输入文件名,点击“保存”。

6、然后将文件的后缀名改成"xls",点击“Export”。

7、就是我们导出的excel文件。

两种办法

一是将查询出来的数据全部选中

然后复制粘贴到

EXCEL

二是在数据库上单击右键,选择任务>>导出数据

里面可以将数据导出成文本

方法一

用mysql的命令和shell

select into outfile '/bestloveskyxls' from bestlovesky where 1 order by id desc limit 0, 50;

方法二

把bestloveskyxls以文本方式打开,然后另存为,在编码选择ansi编码,保存

echo "select id,name from bestlovesky where 1 order by id desc limit 0, 50;"| /usr/local/mysql/bin/mysql -h127001-uroot -p123456 > /data/bestloveskyxls

方法三

mysql -uroot -p -e "select from testtable2 " > d:axsl

1 打开Access软件系统;

2 新建一个数据库,名字为“XXX”;

3 在d出的数据库框中选择“新建”创建一个新的表单;

4 在d出的框中选择“导入表”,即把外部的文件导入到但前的数据库中;

5 按“确定”钮,d出“导入”框,在框中的“文件类型”选择“Microsoft Excel”;

6 浏览选择所需要导入的Excel文件;

7 确定为“显示工作表”,点击“下一步”;

8 选择“第一行包含列标题”,点击“下一步”;

9 选择“新表中”,点击“下一步”;

10 对字段名定义,可以默认,点击“下一步”;

11 选择“自行选择主键主键”,在后侧下拉框选择主键,点击“下一步”;

12 在“导入到表”中填写新的表名,按“完成”按钮,完成全部的导入工作。

如果是access可以直接将表导出excel文件(在文件-导出菜单,选择导出的文件类型为xls即可)。

如果是其它类型的数据库,可以先使用access的导入功能(文件-获得外部数据库-导入,然后选择正确的类型),通过odbc或其他方式导入access,再导出为excel文件。

可以,其实就是将数据库里面的内容生成一个Excel 文件: toexcelasp <%@ LANGUAGE="VBSCRIPT" %> <%option explicit%> 随风起舞来访者人数之Excel 报告 <% if Request("act") = "" then else dim conn set conn=serverCreateObject("adodbconnection") connOpen "test","sa","" 'connOpen Application("connstr") dim rs,sql,filename,fs,myfile,x,link Set fs = serverCreateObject("scriptingfilesystemobject") filename = "c:\visitintelsxls" ' 生成的Excel 文件路径 if fsFileExists(filename) then fsDeleteFile(filename) ' 如有原来相同的Excel 文件删除(覆盖)它 end if set myfile = fsCreateTextFile(filename,true) ' 创建Excel 文件 Set rs = ServerCreateObject("ADODBRecordset") sql = "select population,hourpos,datepos from populationperhour order by datepos,hourpos asc" ' 从数据库中把需放到Excel 文件中的数据查找出来 rsOpen sql,conn if rsEOF and rsBOF then else dim strLine,responsestr strLine="" For each x in rsfields strLine= strLine & xname & chr(9) Next '--将表的列名先写入EXCEL myfilewriteline strLine Do while Not rsEOF strLine="" for each x in rsFields strLine= strLine & xvalue & chr(9) next myfilewriteline strLine ' 将表的数据写入Excel 文件 rsMoveNext loop end if rsClose set rs = nothing connclose set conn = nothing set myfile = nothing Set fs=Nothing link="Open The Excel File" Responsewrite link end if %> 下面是数据库的内容: CREATE TABLE [populationperhour] ( [population] [int] NOT NULL , [hourpos] [int] NOT NULL , [datepos] [datetime] NOT NULL ); insert into populationperhour values('135','1','2001-10-17'); insert into populationperhour values('667','2','2001-10-17'); insert into populationperhour values('557','3','2001-10-17'); insert into populationperhour values('167','660','2001-10-17'); insert into populationperhour values('843','661','2001-10-17');

以上就是关于如何把数据库中数据导成excel文件全部的内容,包括:如何把数据库中数据导成excel文件、如何将数据库中的数据导出到excel、如何把SQLServer表数据导出为Excel文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/sjk/10148597.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存