如何把数据库里的数据导出到EXcl表中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何把数据库里的数据导出到EXcl表中相关的知识,希望对你有一定的参考价值。

(1)界面操作:选择数据库后点右键->所有任务->导出数据,然后根据向导选择要导出的数据库和目标excel文件路径,接着选择导出的表就可以了
(2)代码操作,以下是邹建大侠的通用导出excel存储过程:
/**//*--数据导出EXCEL

导出查询中的数据到Excel,包含字段名,文件为真正的Excel文件
如果文件不存在,将自动创建文件
如果表不存在,将自动创建表
基于通用性考虑,仅支持导出标准数据类型

--邹建 2003.10(引用请保留此信息)--*/

/**//*--调用示例

p_exporttb @sqlstr='select * from 地区资料'
,@path='c:',@fname='aa.xls',@sheetname='地区资料'
--*/
CREATE proc p_exporttb
@sqlstr varchar(8000), --查询语句,如果查询语句中使用了order by ,请加上top 100 percent
@path nvarchar(1000), --文件存放目录
@fname nvarchar(250), --文件名
@sheetname varchar(250)='' --要创建的工作表名,默认为文件名
as
declare @err int,@src nvarchar(255),@desc nvarchar(255),@out int
declare @obj int,@constr nvarchar(1000),@sql varchar(8000),@fdlist varchar(8000)

--参数检测
if isnull(@fname,'')='' set @fname='temp.xls'
if isnull(@sheetname,'')='' set @sheetname=replace(@fname,'.','#')

--检查文件是否已经存在
if right(@path,1)<>'' set @path=@path+''
create table #tb(a bit,b bit,c bit)
set @sql=@path+@fname
insert into #tb exec master..xp_fileexist @sql

--数据库创建语句
set @sql=@path+@fname
if exists(select 1 from #tb where a=1)
set @constr='DRIVER=Microsoft Excel Driver (*.xls);DSN='''';READONLY=FALSE'
+';CREATE_DB="'+@sql+'";DBQ='+@sql
else
set @constr='Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties="Excel 8.0;HDR=YES'
+';DATABASE='+@sql+'"'

--连接数据库
exec @err=sp_oacreate 'adodb.connection',@obj out
if @err<>0 goto lberr

exec @err=sp_oamethod @obj,'open',null,@constr
if @err<>0 goto lberr

--创建表的SQL
declare @tbname sysname
set @tbname='##tmp_'+convert(varchar(38),newid())
set @sql='select * into ['+@tbname+'] from('+@sqlstr+') a'
exec(@sql)

select @sql='',@fdlist=''
select @fdlist=@fdlist+',['+a.name+']'
,@sql=@sql+',['+a.name+'] '
+case
when b.name like '%char'
then case when a.length>255 then 'memo'
else 'text('+cast(a.length as varchar)+')' end
when b.name like '%int' or b.name='bit' then 'int'
when b.name like '%datetime' then 'datetime'
when b.name like '%money' then 'money'
when b.name like '%text' then 'memo'
else b.name end
FROM tempdb..syscolumns a left join tempdb..systypes b on a.xtype=b.xusertype
where b.name not in('image','uniqueidentifier','sql_variant','varbinary','binary','timestamp')
and a.id=(select id from tempdb..sysobjects where name=@tbname)

if @@rowcount=0 return

select @sql='create table ['+@sheetname
+']('+substring(@sql,2,8000)+')'
,@fdlist=substring(@fdlist,2,8000)

exec @err=sp_oamethod @obj,'execute',@out out,@sql
if @err<>0 goto lberr

exec @err=sp_oadestroy @obj

--导入数据
set @sql='openrowset(''MICROSOFT.JET.OLEDB.4.0'',''Excel 8.0;HDR=YES
;DATABASE='+@path+@fname+''',['+@sheetname+'$])'

exec('insert into '+@sql+'('+@fdlist+') select '+@fdlist+' from ['+@tbname+']')

set @sql='drop table ['+@tbname+']'
exec(@sql)
return

lberr:
exec sp_oageterrorinfo 0,@src out,@desc out
lbexit:
select cast(@err as varbinary(4)) as 错误号
,@src as 错误源,@desc as 错误描述
select @sql,@constr,@fdlist
GO
参考技术A 你用的是sql server吗,在里面有导出数据,在目的里选择EXcl就行了 参考技术B '''''''''''''''保存execl 模块
Dim xlsRowCount As Integer, xlsColCount As Integer
Dim xlsApp As Object
Dim xlsBook As Object
Dim xlsSheet As Object
Dim i, j As Long

Set xlsApp = CreateObject("Excel.Application")
Set xlsBook = xlsApp.Workbooks.Add
Set xlsSheet = xlsBook.Worksheets(1)

xlsRowCount = MSFlexGrid1.Rows
xlsColCount = MSFlexGrid1.Cols

With xlsSheet
For i = 1 To xlsColCount - 1
.Columns(i).ColumnWidth = 15
Next

For i = 1 To xlsRowCount
.Rows(i).RowHeight = 20
Next

For i = 0 To xlsRowCount - 1
For j = 1 To xlsColCount
.Cells(i + 1, j).Value = MSFlexGrid1.TextMatrix(i, j - 1)
Next
Next
End With

dlg.Filter = "(*.xls)|*.xls"
dlg.ShowSave
strexname = dlg.FileName
If strexname = " " Then
MsgBox "输出失败!", vbExclamation, "警告"
Exit Sub
End If
xlsSheet.SaveAs strexname
xlsApp.DisplayAlerts = False
xlsBook.Close
xlsApp.Quit '退出EXCEL
xlsApp.DisplayAlerts = True
MsgBox " 导出成功!", vbOKOnly + vbInformation, "提示"

请问如何将金蝶k3帐套里的财务报表导出到桌面,生成电子表格?

参考技术A

请问如何将金蝶k3帐套里的财务报表导出到桌面,生成电子表格?

打开报表后,在左上角有个“文件”里面有个“报表引出”,再选择你导出的格式(kds或xls)-路径选择到桌面就可以了

如何将表中的数据导出到电子表格中

有很多方法都可将数据库中某个表的数据导出到电子表格中,例如通过创建Aess.Application,可以利用Aess本身的导出功能实现将表中的数据导出到电子表格中。但是这种方法会占用较多的系统资源,并且缺乏通用性。如果一个数据库没有导出的功能怎么办?下面的这段程序代码利用记录集实现导出的功能,这种做法的好处是显而易见的:你可以控制要导出的数据,而不用将整个表的内容都导出到电子表格中。为简单起见下面的程序代码仍将整个表的数据导出到电子表格中。如果你有兴趣的话,对下面的代码稍加改动就可做成更为通用的一个类或是一个控件。 首先在窗体上添加一个标签控件和一个命令按钮,然后在工程中添加对DAO引用。利用下面的程序代码就可将表中的数据导出到电子表格中。Option ExplicitPrivate Sub Command1_Click()Dim tempDB As DatabaseDim i As Integer \' 循环计数器Dim j As IntegerDim rCount As Long \' 记录的个数Dim xl As Object \' OLE自动化对象Dim Sn As RecordsetScreen.MousePointer = 11Label1.Caption = "打开数据库..."Label1.RefreshSet tempDB = Workspaces(0).OpenDatabase("Nwind.mdb")Label1.Caption = "创建Excel对象..."Label1.RefreshSet xl = CreateObject("Excel.Sheet.8")Label1.Caption = "创建快照型记录集..."Label1.RefreshSet Sn = tempDB.OpenRecordset("Customers", dbOpenSnapshot)If Sn.RecordCount > 0 ThenLabel1.Caption = "将字段名添加到电子表格中"Label1.RefreshFor i = 0 To Sn.Fields.Count - 1xl.Worksheets(1).cells(1, i + 1).Value = Sn(i).NameNextSn.MoveLastSn.MoveFirstrCount = Sn.RecordCount\' 在记录中循环i = 0Do While Not Sn.EOFLabel1.Caption = "Record:" & Str(i + 1) & " of" & _Str(rCount)Label1.RefreshFor j = 0 To Sn.Fields.Count - 1\' 加每个字段的值加到工作表中If Sn(j).Type < 11 Thenxl.Worksheets(1).cells(i + 2, j + 1).Value = Sn(j)Else\' 处理Memo和LongBinary 类型的字段xl.Worksheets(1).cells(i + 2, j + 1).Value = "Memo or Binary Data"End IfNext jSn.MoveNexti = i + 1Loop\' 保存工作表Label1.Caption = "保存文件..."Label1.Refreshxl.SaveAs "c:\\Customers.XLS"\'从内存中删除Excel对象Label1.Caption = "退出Excel"Label1.Refreshxl.Application.QuitElse\' 没有记录End If\' 清除Label1.Caption = "清除对象"Label1.RefreshSet xl = NothingSet Sn = NothingSet tempDB = NothingScreen.MousePointer = 0 \' 恢复鼠标指针Label1.Caption = "Ready"Label1.Refresh End SubPrivate Sub Form_Load()Label1.AutoSize = TrueLabel1.Caption = "Ready"Label1.RefreshEnd Sub

跪求:Mapgis报表编辑后如何生成电子表格

你应该先是转过属性库了吧?报表编辑后,点击报表编辑系统中的建索引,点击属性生成文本,存为.WB格式,打开时用Excel打开,另存为Excel就可以了。

组态王如何将历史曲线导出到电子表格中去?

不知你会OPC不,组态王实时点是OPC Server发布的,写个OPC客户端程序连接组态王,程序里面连接数据库服务器建表存盘,然后查询导出Excel,这样可能麻烦点,但喜欢这样搞

请问如何将txt电子表格数据导入到EXCEL表里进行统计

EXCEL中执行数据-导入外部数据-导入数据-选择你的TXT数据源文件,然后按照提示一步步完成导入。然后再进行相关的统计。

如何将PPT中图片表格转换成电子表格?

如果ppt中的图片表格是excel格式,直接复制黏贴就可以了,如果是纯图片格式,就需要手动输入成电子表格了

以上是关于如何把数据库里的数据导出到EXcl表中的主要内容,如果未能解决你的问题,请参考以下文章

前端导出数据到excl表格

Office表中如何把一定范围单元格的内容多列数据去除空值以TXT文本方式导出?

请问如何将金蝶k3帐套里的财务报表导出到桌面,生成电子表格?

java如何将查询到的表中数据导出到excel中(包含字段名)

在C#中,如何把DataGridview中的数据导出到一个Excel表中

pb中 如何把两个表中的内容导出到一个电子表格 如何把一个字段作为下拉列表框的item