
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文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)