Access导出到Excel提速之法

合集下载

Access中的数据导入导出技巧

Access中的数据导入导出技巧

Access中的数据导入导出技巧数据导入导出是Access数据库管理中非常重要的一部分,它涉及到数据的存储、传输和分享。

在Access中,通过数据导入导出技巧,我们可以方便地将数据从一个数据库中导出到另一个数据库,也可以将外部数据导入到Access中进行管理和分析。

本文将介绍在Access 中的数据导入导出技巧,希望能够帮助大家更好地利用数据库中的数据。

1.数据导出技巧数据导出是将Access中的数据输出到外部文件或其他数据库的过程。

在Access中,我们可以将数据导出为文本文件、Excel文件、XML 文件等格式。

以下是一些常用的数据导出技巧:1.1导出为文本文件在Access中,我们可以将数据导出为文本文件,以便在其他应用程序中使用。

要将数据导出为文本文件,首先需要打开要导出的表或查询,然后选择“文件”菜单中的“导出”选项。

在弹出的导出向导中,选择导出的文件格式为“文本文件”,然后按照提示完成导出设置即可。

1.2导出为Excel文件许多用户习惯用Excel来处理数据,因此将Access中的数据导出为Excel文件是很常见的需求。

在Access中,我们可以将数据导出为Excel文件,具体操作与导出为文本文件类似,只是在选择导出的文件格式时需要选择“Microsoft Excel”格式。

1.3导出为XML文件XML是一种常用的数据交换格式,在Access中,我们也可以将数据导出为XML文件以便在其他系统中使用。

要将数据导出为XML文件,同样需要打开要导出的表或查询,然后选择“文件”菜单中的“导出”选项。

在导出向导中选择导出的文件格式为“XML文件”,然后按照提示完成导出设置。

1.4导出为其他数据库格式除了上述几种格式外,Access还支持将数据导出为其他数据库的格式,如MySQL、SQL Server等。

这需要安装相应的数据库驱动程序,然后在导出向导中选择对应的数据库格式进行导出设置。

2.导出设置技巧在进行数据导出时,有一些设置可以帮助我们更好地控制导出的数据内容和格式,以下是一些常用的导出设置技巧:2.1字段分隔符和文本限定符在导出文本文件时,可以设置字段的分隔符和文本的限定符,以便在其他应用程序中更好地读取和处理导出的数据。

Access与Excel结合使用常用代码

Access与Excel结合使用常用代码

Excel使用灵活但是处理数据量小(数据一多就会卡)Access能数据量大(相对于Excel)但是使用不灵活。

Excel与Access结合使用能相互弥补不足。

如用Access用为后台数据库对表进行筛选、汇总等一系列处理后再以Excel为前台导出数据,会比直接用Excel表刷选、汇总一个上万行的数据表快的多。

以下是几种access与Excel结合使用常用方法与代码。

1.Access导入表格代码Sub 导入材料出库表()DoCmd.SetWarnings False '取消警告DoCmd.RunSQL "DELETE FROM 材料出库表" '删除材料出库表DoCmd.TransferSpreadsheet acImport, 8, "材料出库表", _“F:\材料出库明细.xls", _True, "sheet1!a2:ag20000" '导入材料出库明细表中的sheet1表a2:ag20000区域的数据DoCmd.SetWarnings TrueEnd Sub '恢复警告注:DoCmd.TransferSpreadsheet acImport, 8, "材料出库表", “F:\材料出库明细.xls", True, "sheet1!a2:ag20000" 此句代码中的"材料出库表"是表明导入到Access中的材料出库表中,参数true表明以导入数据的第一行作为列字段如将true改false 数据导入access中后表的列字段为“F1、F2、F3.....”。

2.创建Access窗体与按钮1.创建窗体点创建-窗体设计即调出窗体设计窗体界面。

2.创建按钮点设计-按扭即可用鼠标在窗体中插入按钮。

按钮做好后会自动弹出“命令按钮向导”直接点取消。

Access数据导入和导出

Access数据导入和导出

Access数据导入和导出Access是一款功能强大的数据库管理软件,它可以帮助用户方便地导入和导出数据。

本文将介绍Access中的数据导入和导出功能,以及相关的操作步骤和注意事项。

一、数据导入数据导入是将外部数据源的数据导入到Access数据库中的过程。

Access支持多种数据源的导入,包括Excel、CSV、文本文件等。

1. 导入Excel数据:步骤一:打开Access数据库,选择要导入数据的表格。

步骤二:点击“外部数据”选项卡,在“导入”组中选择“Excel”。

步骤三:浏览并选择要导入的Excel文件,点击“确定”。

步骤四:选择要导入的Excel表格,点击“下一步”。

步骤五:按照向导指示选择导入设置,点击“下一步”。

步骤六:指定数据表的名称,点击“完成”。

2. 导入CSV或文本文件:步骤一:打开Access数据库,选择要导入数据的表格。

步骤二:点击“外部数据”选项卡,在“导入”组中选择“文本文件”。

步骤三:浏览并选择要导入的CSV或文本文件,点击“导入”。

步骤四:按照向导指示选择导入设置,点击“下一步”。

步骤五:指定数据表的名称,点击“完成”。

二、数据导出数据导出是将Access数据库中的数据导出到外部文件的过程。

Access支持导出为Excel、CSV、文本文件等格式。

1. 导出为Excel文件:步骤一:打开Access数据库,选择要导出数据的表格。

步骤二:点击“外部数据”选项卡,在“导出”组中选择“Excel”。

步骤三:按照向导指示选择导出设置,点击“下一步”。

步骤四:选择导出的Excel文件路径和名称,点击“完成”。

2. 导出为CSV或文本文件:步骤一:打开Access数据库,选择要导出数据的表格。

步骤二:点击“外部数据”选项卡,在“导出”组中选择“文本文件”。

步骤三:按照向导指示选择导出设置,点击“下一步”。

步骤四:选择导出的CSV或文本文件路径和名称,点击“完成”。

三、注意事项1. 在导入数据时,确保源数据的格式和目标数据表的字段类型匹配,以避免数据丢失或不准确。

Access中的数据导出技巧

Access中的数据导出技巧

Access中的数据导出技巧Access中的数据导出技巧Microsoft Access是一款功能强大的数据库管理软件,经常用于存储和管理大量的数据。

不仅可以对数据进行查询、编辑和删除等操作,还可以方便地对数据进行导出。

在实际使用中,导出数据是非常重要的,它可以让用户利用不同的软件或工具进行数据的进一步处理和分析。

本文将介绍在Access中进行数据导出的技巧。

一、导出查询结果Access中的查询功能非常方便,可以通过查询来筛选所需的数据。

在查询结果中,如果需要将数据导出到另一个文件或软件中进行处理,可以采用以下方法:1.选择要导出的查询结果,右键菜单中选择“导出到Excel”或“导出到文本文件”。

2.设置导出文件的路径和格式,并选择字段分隔符、文本限定符等选项。

3.点击“确定”,系统将会自动将查询结果导出到指定的文件中。

二、导出表格数据对于已经存在的表格数据,也可以通过以下方法将其导出到其他文件中:1.在Access中选择要导出的表格,右键菜单中选择“导出”。

2.在弹出的导出向导中,选择所需的导出格式(如Excel、文本文件等),并设置导出文件的路径和格式等选项。

3.点击“下一步”,根据向导的提示设置所需的导出选项。

4.点击“完成”,系统将会自动将所选表格数据导出到指定的文件中。

三、导出报表数据在Access中,报表是对查询结果进行格式化的一种方式,常用于打印或输出到其他文件中。

如果需要将报表数据导出,可以采用以下方法:1.选择要导出的报表,右键菜单中选择“导出”。

2.在弹出的导出向导中,选择所需的导出格式(如Excel、文本文件等),并设置导出文件的路径和格式等选项。

3.点击“下一步”,根据向导的提示设置所需的导出选项。

4.点击“完成”,系统将会自动将所选报表数据导出到指定的文件中。

总结:在Access中进行数据导出是非常实用的技巧,它可以让用户方便地将数据转移到其他软件中使用。

通过本文所介绍的方法,可以轻松地将查询结果、表格数据和报表数据导出到Excel、文本文件等格式中。

使用VBA实现Excel与Access数据的交互

使用VBA实现Excel与Access数据的交互

使用VBA实现Excel与Access数据的交互提要:本文介绍了如何使用VBA(Visual Basic for Applications)编程语言来实现Excel和Access之间的数据交互。

VBA是一种内置于Microsoft Office套件中的编程语言,它可以用于自动化各种任务,包括数据的导入和导出。

通过使用VBA,可以轻松地将Excel和Access的数据进行传输和共享,实现数据的有效管理和分析。

引言:在现代业务环境中,数据的处理和分析变得越来越重要。

Excel和Access都是常用的数据处理工具,它们的结合使用可以增强数据的管理和分析功能。

然而,手动将数据从Excel复制粘贴到Access中是一项费时费力的任务。

通过使用VBA编程语言,我们可以轻松地实现Excel和Access之间的数据交互,将数据的导入和导出自动化,提高工作效率。

一、连接Excel和Access数据库:要实现Excel和Access之间的数据交互,首先需要建立它们之间的连接。

以下是建立连接的步骤:1. 在Excel中,按下“Alt + F11”打开VBA编辑器。

2. 在VBA编辑器中,选择“工具”>“引用”,勾选“Microsoft ActiveX Data Objects X.X Library”。

3. 在Excel的VBA编辑器中,插入一个新的模块。

4. 在模块中编写以下代码来建立与Access数据库的连接:```vbaDim conn As ObjectSet conn = CreateObject("ADODB.Connection")conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;DataSource=C:\database.accdb"```在以上代码中,通过“CreateObject”函数创建了一个名为“conn”的连接对象,并通过“Open”方法打开了一个Access数据库文件(database.accdb)。

Access数据导入导出操作

Access数据导入导出操作

Access数据导入导出操作Access是一种常用的关系型数据库管理系统,它提供了多种方式来导入和导出数据。

本文将介绍Access中的数据导入和导出操作,并提供一些实用的技巧和建议。

1. 导入数据Access支持从多种外部数据源导入数据,包括其他数据库、Excel、文本文件等。

下面是一些常用的数据导入方法:1.1 从其他数据库导入数据Access可以从其他数据库中导入数据,如SQL Server、MySQL等。

要导入数据,请按以下步骤操作:1.打开Access数据库,点击外部数据选项卡。

2.在导入与链接组中,选择其他数据库。

3.在获取外部数据对话框中,选择要导入的数据库类型,并输入连接信息。

4.确定连接信息后,选择要导入的表格或查询,并点击确定。

1.2 从Excel导入数据Access可以轻松导入Excel中的数据。

要导入数据,请按照以下步骤操作:1.打开Access数据库,点击外部数据选项卡。

2.在导入与链接组中,选择Excel。

3.在获取外部数据对话框中,选择要导入的Excel文件,并点击确定。

4.在导入电子表格向导中,选择要导入的工作表和导入选项,并点击下一步。

5.根据需要进行字段映射和数据类型设置,然后点击完成。

1.3 从文本文件导入数据Access还可以从文本文件中导入数据。

要导入数据,请按照以下步骤操作:1.打开Access数据库,点击外部数据选项卡。

2.在导入与链接组中,选择文本文件。

3.在获取外部数据对话框中,选择要导入的文本文件,并点击导入。

4.在文本导入向导中,选择文件格式和分隔符,然后点击下一步。

5.根据需要设置字段格式,然后点击下一步。

6.设置导入选项,然后点击下一步。

7.输入目标表的名称,并选择要导入的数据类型,然后点击完成。

2. 导出数据Access不仅可以导入数据,也可以将数据导出到其他文件格式。

下面是一些常用的数据导出方法:2.1 导出数据到ExcelAccess可以将数据导出到Excel格式,以便与其他人分享或进一步处理。

Access数据导入导出指南

Access数据导入导出指南

Access数据导入导出指南Microsoft Access是一款功能强大的数据库管理软件,不仅可以用于创建和维护数据库,还可以进行数据的导入和导出。

本篇指南将向您介绍如何在Access中进行数据的导入和导出,以及一些技巧和注意事项。

一、数据导入在Access中进行数据导入,可以将外部数据源的信息导入到Access数据库中,方便进行后续的数据管理和分析。

以下是进行数据导入的步骤:1. 打开Access数据库,并创建一个新的数据表。

2. 在“外部数据”选项卡下,选择“导入Excel”、“导入文本文件”等选项,根据您的需要选择相应的文件类型。

3. 浏览并选择您要导入的文件,点击“导入”按钮。

4. 在导入向导中,根据文件的具体情况,选择相应的选项进行设置,如数据的分隔符、字段的格式等。

5. 点击“完成”按钮,完成数据导入。

二、数据导出在Access中进行数据导出,可以将Access数据库中的数据导出到其他文件格式,如Excel、文本文件等。

以下是进行数据导出的步骤:1. 打开Access数据库,并找到包含您要导出的数据的数据表。

2. 在“外部数据”选项卡下,选择“导出到Excel”、“导出到文本文件”等选项,根据您的需要选择相应的文件类型。

3. 在导出向导中,选择您要导出的数据表,并设置导出选项,如文件的保存路径、字段的格式等。

4. 点击“完成”按钮,完成数据导出。

三、技巧和注意事项1. 数据格式的匹配:在进行数据导入时,确保源文件的数据格式与目标数据库的数据格式相匹配,以免导入后出现数据错位或丢失的情况。

2. 字段映射的设置:在进行数据导入时,如果源文件的字段与目标数据库的字段不完全匹配,需要进行字段映射的设置,确保数据的正确导入。

3. 数据预览和验证:在进行数据导入和导出之前,可以通过预览功能查看数据的导入或导出效果,并验证数据的准确性和完整性。

4. 导入导出模板的创建:对于频繁进行数据导入导出的操作,可以创建相应的导入导出模板,提高工作效率。

数据库表导入与导出方法

数据库表导入与导出方法

数据库表导入与导出方法数据库表导入与导出方法SERVER、ACCESS、EXCEL数据转换,详细说明如下:一、SQL SERVER 和ACCESS的数据导入导出常规的数据导入导出:使用DTS向导迁移你的Access数据到SQL Server,你可以使用这些步骤: ○1在SQL SERVER企业管理器中的Tools(工具)菜单上,选择Data Transformation○2Services(数据转换服务),然后选择 czdImport Data(导入数据)。

○3在Choose a Data Source(选择数据源)对话框中选择Microsoft Access as the Source,然后键入你的.mdb数据库(.mdb 文件扩展名)的文件名或通过浏览寻找该文件。

○4在Choose a Destination(选择目标)对话框中,选择Microsoft OLE DB Prov ider for SQL Server,选择数据库服务器,然后单击必要的验证方式。

○5在Specify Table Copy(指定表格复制)或Query(查询)对话框中,单击Copy tables(复制表格)。

○6在Select Source Tables(选择源表格)对话框中,单击Select All(全部选定)。

下一步,完成。

Transact-SQL语句进行导入导出:1.在SQL SERVER里查询access数据:SELECT *FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="c:\DB.mdb";User ID=Admin;Password=')...表名2.将access导入SQL server在SQL SERVER 里运行:SELECT *INTO newtableFROM OPENDATASOURCE ('Microsoft.Jet.OLEDB.4.0','Data Source="c:\DB.mdb";User ID=Admin;Password=' )...表名3.将SQL SERVER表里的数据插入到Access表中在SQL SERVER 里运行:insert into OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source=" c:\DB.mdb";User ID=Admin;Password=')...表名(列名1,列名2)select 列名1,列名2 from sql表实例:insert into OPENROWSET('Microsoft.Jet.OLEDB.4.0','C:\db.mdb';'admin';'', Test)select id,name from TestINSERT INTO OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'c:\trade.mdb';'admin'; '', 表名)SELECT *FROM sqltablename二、SQL SERVER 和EXCEL的数据导入导出1、在SQL SERVER里查询Excel数据:SELECT *FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="c:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$] 下面是个查询的示例,它通过用于Jet 的OLE DB 提供程序查询Excel 电子表格。

Accessvba导出数据到Excel方法总结

Accessvba导出数据到Excel方法总结

Accessvba导出数据到Excel方法总结Access vba有各种方法可以导出到Excel,方法大致如下:1、查询导出。

优点:可以根据查询设计(直观) 。

缺点:格式固定。

2、ADO逐条遍历。

优点:写入位置可以灵活控制。

缺点:速度较慢3、CopyFromRecordset 。

优点:速度极快。

缺点:格式固定4、Excel插入QueryTable 。

优点:速度较快,可以汇总5、复制粘贴。

优点:标题、格式等和子窗体一致。

缺点:只能导出数据表显示的子窗体数据1、利用查询导出1.DoCmd.OutputT o acOutputQuery, "具体的查询名称", acFormatXLS, , True执行这条语句,即可把对应的查询导出到Excel文件拓展:1)你也可以根据SQL语句自动创建查询,再导出。

1.CurrentDb.CreateQueryDef "新的查询名称", "SQL语句" '创建查询2)导出之后,你可以删除掉这个查询1.DoCmd.DeleteObject acQuery, "查询名称" '删除查询3)也可以修改当前查询的SQL语句之后,再导出1.Dim qdf As Object 'DAO.QueryDef'2.Set qdf = CurrentDb.QueryDefs("查询名称")3.qdf.SQL = strSQL '设置新的SQL语句'2、ADO逐条遍历这种方法是最传统和最典型的方法,也是最灵活的。

打开一个记录集,然后遍历数据对Excel操作即可。

重点在操作Excel。

1.Dim rs As New ADODB.Recordset2.Dim xlApp As Object 'Excel.Application'3.Dim xlBook As Object 'Excel.Workbook'4.Dim xlSheet As Object 'Excel.Worksheet'5.Set xlApp = CreateObject("Excel.Application")6.Set xlBook = xlApp.Workbooks.Add '添加一个新的Book'7.Set xlSheet = xlApp.ActiveSheet '使用当前的Sheet'8.Dim strSql As String9.Dim i As Long10.strSql="Select * from 表1 where ID<10"11.rs.Open strSql, CurrentProject.Connection, 1, 112.Do While Not rs.EOF13.xlSheet.Cells(2 + i,1)=rs("ID") '从第2行开始写数据'14.xlSheet.Cells(2 + i,2)=rs("FName")15.rs.MoveNext16.i=i+117.Loop18.rs.Close19.xlApp.Visible=True3、CopyFromRecordset导出数据CopyFromRecordset是Excel vba的方法,可以快速把一个记录集的数据填充到Excel单元格中。

Access中的数据导入导出技巧

Access中的数据导入导出技巧

Access中的数据导入导出技巧数据导入导出是数据库操作中非常重要的一环,正确的技巧可以帮助提高数据的安全性和效率。

在Access中,数据的导入导出可以通过多种方式进行,包括导入外部数据、导入和导出Excel数据、使用SQL Server导入和添加等。

本文将从不同的角度介绍在Access中进行数据导入导出的技巧,并探讨常见的问题和解决方法。

一、导入外部数据1.1从外部数据源导入数据在Access中,我们可以从外部数据源(如其他数据库、文本文件、Excel文件等)导入数据。

在“外部数据”选项卡中,可以选择不同的数据源,如Excel、文本文件、SQL Server等。

依据所选的数据源类型,可以选择相关的文件或连接设置,完成数据的导入操作。

需要注意的是,对于不同的数据源,可能需要进行不同的数据类型映射,以确保导入的数据格式正确。

1.2预处理导入数据在导入外部数据之前,我们需要对数据进行预处理,以确保导入的数据能够正确地映射到Access中的数据表中。

预处理操作可能包括:数据清洗、格式转换、数据校验等。

例如,如果要导入的数据包含日期字段,可能需要检查日期格式并进行转换;如果要导入的数据包含文本字段,可能需要进行编码转换或字符替换等操作。

只有在数据预处理工作完成之后,才能进行数据的导入操作。

1.3导入数据时的常见问题在导入数据时,常见的问题包括:数据格式不匹配、数据丢失、数据类型错误等。

为了避免这些问题,需要对导入的数据进行仔细的检查和测试。

例如,可以先导入少量数据进行测试,查看导入结果是否符合预期,根据测试结果调整数据预处理操作,直至数据导入的结果符合要求。

1.4解决导入数据时的常见问题当在导入数据时遇到问题时,需要根据具体的情况进行处理。

对于数据格式不匹配的问题,可能需要调整数据预处理操作,以确保数据格式正确;对于数据丢失的问题,可能需要做进一步的数据对比和校验,查找原因并进行修复;对于数据类型错误的问题,可能需要进行数据类型转换或手工处理等。

Access与Excel相互转换

Access与Excel相互转换

Access转Excel(转自互联网)方法1:调用com组件,导出access数据到Excel,就是直接调用access的导出功能,此方法速度超级快using Access;Access.ApplicationClass oAccess = new Access.ApplicationClass();oAccess.Visible = false;try{//ACCESS9:oAccess.OpenCurrentDatabase("d:\\wcf.mdb",false,"");//导出到exceloAccess.DoCmd.TransferSpreadsheet(Access.AcDataTransferType.acExport,Access.AcSpreadShe etType.acSpreadsheetTypeExcel9,"工作表名","d:\\wcf.xls",true,null,null);//导入txt//oAccess.DoCmd.TransferText(Access.AcTextTransferType.acExportDelim,"","Enterprise","d:\\w cf.txt",true,"",0);oAccess.CloseCurrentDatabase();oAccess.DoCmd.Quit(Access.AcQuitOption.acQuitSaveNone);System.Runtime.InteropServices.Marshal.ReleaseComObject (oAccess);oAccess = null;MessageBox.Show("导入成功");}catch(Exception ex){MessageBox.Show(ex.ToString());}finally{GC.Collect();}方法2:此方法速度也是超级快,只不过导出的格式非标准的Excel格式,默认工作表名与文件名相同string FileName="d:\\abc.xls";System.Data.DataTable dt=new System.Data.DataTable();FileStream objFileStream;StreamWriter objStreamWriter;string strLine="";objFileStream = new FileStream(FileName,FileMode.OpenOrCreate,FileAccess.Write); objStreamWriter = new StreamWriter(objFileStream,System.Text.Encoding.Unicode);for(int i=0;i<dt.Columns.Count;i++){strLine=strLine+dt.Columns[i].ColumnName.ToString()+Convert.ToChar(9);}objStreamWriter.WriteLine(strLine);strLine="";for(int i=0;i<dt.Rows.Count;i++){strLine=strLine+(i+1)+Convert.ToChar(9);for(int j=1;j<dt.Columns.Count;j++){strLine=strLine+dt.Rows[i][j].ToString()+Convert.ToChar(9);}objStreamWriter.WriteLine(strLine);strLine="";}objStreamWriter.Close();objFileStream.Close();方法3:用 此方法速度较以上两个显得慢了一些,数据量越大越明显int Id=0;string Name="测试";string FileName="d:\\abc.xls";System.Data.DataTable dt=new System.Data.DataTable();long totalCount=dt.Rows.Count;long rowRead=0;float percent=0;OleDbParameter[] parm=new OleDbParameter[dt.Columns.Count];string connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + FileName +";Extended Properties=Excel 8.0;";OleDbConnection objConn = new OleDbConnection(connString);OleDbCommand objCmd = new OleDbCommand();objCmd.Connection = objConn;objConn.Open();//建立表结构mandText = @"CREATE TABLE Sheet1(序号Integer,名称varchar)"; objCmd.ExecuteNonQuery();//建立插入动作的CommandmandText = "INSERT INTO Sheet1("+Id+","+Name+")";parm[0]=new OleDbParameter("@Id", OleDbType.Integer);objCmd.Parameters.Add(parm[0]);parm[1]=new OleDbParameter("@Company", OleDbType.VarChar);objCmd.Parameters.Add(parm[1]);//遍历DataTable将数据插入新建的Excel文件中for(int i=0;i<dt.Rows.Count;i++){parm[0].Value=i+1;for(int j=1;j<parm.Length;j++){parm[j].Value =dt.Rows[i][j];}objCmd.ExecuteNonQuery();rowRead++;percent=((float)(100*rowRead))/totalCount;//this.FM.CaptionText.Text = "正在导出数据,已导出[" + percent.ToString("0.00") + "%]..."; if(i==dt.Rows.Count-1)//this.FM.CaptionText.Text = "请稍后......";System.Windows.Forms .Application.DoEvents();}objConn.Close();//this.FM.CaptionText.Text = "";方法4:此方法调用com组件,速度都慢于以上3个方法using Excel;System.Data.DataTable dt=new System.Data.DataTable();string FileName="d:\\abc.xls";long totalCount=dt.Rows.Count;long rowRead=0;float percent=0;Excel.Application xlApp=null;xlApp=new Excel.Application();Excel.Workbooks workbooks=xlApp.Workbooks;Excel.Workbook workbook=workbooks.Add(Excel.XlWBATemplate.xlWBATWorksheet); Excel.Worksheet worksheet=(Excel.Worksheet)workbook.Worksheets[1];//取得sheet1 Excel.Range range;//写入字段for(int i=0;i<dt.Columns.Count;i++){worksheet.Cells[1,i+1]=dt.Columns[i].ColumnName;range=(Excel.Range)worksheet.Cells[1,i+1];}for(int r=0;r<dt.Rows.Count;r++){worksheet.Cells[r+2,1]=r+1;for(int i=0;i<dt.Columns.Count;i++){//worksheet.Cells[r+2,i+1]=dt.Rows[r][i];if(i+1!=dt.Columns.Count)worksheet.Cells[r+2,i+2]=dt.Rows[r][i+1];}rowRead++;percent=((float)(100*rowRead))/totalCount;//this.FM.CaptionText.Text = "正在导出数据,已导出[" + percent.ToString("0.00") + "%]..."; System.Windows.Forms .Application.DoEvents();}range=worksheet.get_Range(worksheet.Cells[2,1],worksheet.Cells[dt.Rows.Count+2,dt.Columns.C ount]);workbook.Saved =true;workbook.SaveCopyAs(FileName);//this.FM.CaptionText.Text = "";方法5:利用剪贴板,有人说此方法很快,但是我用时,这种方法最慢,请高手指点. System.Data.DataTable dt=new System.Data.DataTable();string filePath=@"d:\abc.xls";object oMissing = System.Reflection.Missing.Value;Excel.ApplicationClass xlApp = new Excel.ApplicationClass();try{xlApp.Visible = false;xlApp.DisplayAlerts = false;Excel.Workbooks oBooks = xlApp.Workbooks;Excel._Workbook xlWorkbook = null;xlWorkbook = oBooks.Open(filePath,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing, oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing);Excel.Worksheet xlWorksheet;// 添加入一个新的Sheet页。

Word-Excel-Access之间数据调用技巧

Word-Excel-Access之间数据调用技巧

Word-Excel-Access之间数据调用技巧Microsoft Office中的三个组件——Word、Excel、Access,都具有一定的制表功能。

使用者可根据编辑文档的需要,选择相应的组件来制作表格。

但是,有时在一个文档中制作表格时,为了节省输入时间,以及保持数据的统一,常常需要共享另一组件中已经录入的数据。

其实,他们本是一家人,这种数据的共享完全可以轻易地实现。

注:以下操作均在Microsoft Office 2003下进行,使用其它版本请仿照操作。

一、在Word中调用Excel或Access中的数据1.复制粘贴法。

如果调用的数据比较少,且不需要在二者之间建立链接关系,建议采取此办法。

①启动Access,打开相应的数据库,展开需要转换的某个“表”或某个“查询”表(如“成绩表”等)。

②将鼠标移至需要复制的第一条记录所在行的行标上单击一下,选中第一条需要复制的记录。

③再将鼠标移至最后一条需要复制的记录所在行的行标上。

在按住Shift键的同时,单击一下,选中所有需要复制的数据行,按工具栏上的“复制”按钮。

小提示:也可根据实际需要,复制整列的数据。

④启动Word,打开需要插入表格的文档,将光标定在插入表格处。

点击工具栏上的“粘贴”按钮,上述复制的数据,即刻以表格的形式插入到文档中。

小提示:同法可将Excel工作表中的全部或部分数据复制粘贴到Word文档中。

2.插入对象法。

如果调用的数据比较多,且需要在二者之间建立链接关系,建议采取此办法。

①启动Word,打开需要插入表格的文档,将光标定在插入表格处,执行“插入→对象”命令,打开“对象”对话框(图1)。

②切换到“由文件创建”标签下,单击其中的“浏览”按钮,定位到需要调用的Excel 工作表文件所在的文件夹,选中相应的文件,插入后返回。

③在图1的对话框中,选“链接到文件”选项,然后按下“确定”按钮,即可将相应的工作表插入到文档中。

小提示:①如果Excel工作簿中有多个工作表,请先启动Excel,打开相应的文件,将需要调用的工作表作为当前工作表,保存退出,再进行上述操作即可。

Word\Excel与Access之间的数据交换

Word\Excel与Access之间的数据交换

Word\Excel与Access之间的数据交换[摘要] Access是一个小巧而功能相当强大的关系型数据库管理系统,依靠它,我们可以轻松实现数据的查询,删除,修改等一系列的操作,特别是我们还可以在此基础上开发出功能强大的数据库系统。

但我们的数据很可能放在word 和excel中。

这就难免要用到Word、Excel与Access之间的数据交换,本文就是基于这个需要,总结了它们之间交换数据的方法。

[关键词] 数据交换Word Excel AccessWord和Excel是我们经常使用的Office组件,它们功能强大,使用简单,方便。

Access也是office的组件之一,但可能使用的人可能要少一点,它是一个数据库管理系统。

当我们的数据量达到一定程度,把它存储在数据库中无疑是一个很好的选择。

Access提供了表、查询、窗体、报表、页、宏、模块7种用来建立数据库系统的对象;提供了多种向导、生成器、模板,把数据存储、数据查询、界面设计、报表生成等操作规范化;为建立功能完善的数据库管理系统提供了方便,也使得普通用户不必编写代码,就可以完成大部分数据管理的任务。

为了发挥各自优势并提高工作效率,需要实现相互数据共享,也要在Access 与Word、Excel间进行数据交流。

Access与Word、Excel同属于Office软件包的组件,因此,这几个软件在设计的时候已经帮我们做了很多的接口,方便我们进行数据交流。

在此,我们对这些方法做一个总结。

1. 利用剪贴板这种方式我们大家应该都不陌生,我们只需要使用“复制”,“粘贴”命令即可轻松实现数据间的拷贝。

2. 利用文本文件过渡2.1在Access中使用Word和Excel数据在Word中或是Excel选中表格,依次执行“表格---转换---表格转换成文本”,然后点击“另存为”命令,并指定“保存类型”为“纯文本”。

在Access中依次执行“文件---获取外部数据---导入”。

Access中用 VBA实现导入导出功能(使用实例技巧)

Access中用 VBA实现导入导出功能(使用实例技巧)

什么情况下用链接表,什么情况用导入表功能何时使用导入或联接在Access中,可以很方便地从外部数据库中获取数据,这些数据库包括现在所有的各种主流数据库,像Dbase、Sybase、Oracle、Foxpro等。

这样你就不用去一个一个地重新输入原来的数据了。

在Access中,可以用“获取外部数据”命令来获取外部数据库的数据,这个命令包括两种方式“导入”和“链接表”。

对于不同的外部数据库可以用不同的获取方式。

而且在Access 中,不光可以获取外部数据,还可以导出别的数据库,就是将用Access建立的数据库保存为别的数据库形式,像FOXPRO,DBASE数据库等。

单击“文件”菜单中的“获取外部数据”项,弹出一个子菜单,上面有“导入”和“链接表”两个选项。

我们单击其中的一个选项就可以实现导入或联接一个外部的数据库。

虽然这两个命令的功用都是打开外部的一个数据库,并从中获取需要的数据,但在使用上,还是有差别的。

在我们使用“导入”这个方法来获取外部数据时需要注意几个条件。

一、需要我们打开的数据库文件相对来说比较小,而且不会被其他数据库应用程序的用户频繁更改。

二、不需要与其他数据库应用程序的用户共享数据。

三、你正在替换以前的数据库应用程序,而且不再需要以前的数据格式。

四、在使用其他数据库中的数据时,需要最佳性能。

使用“链接表”方法来获取外部数据时也需要注意几个条件:一、需要打开的文件比较大,甚至比本地Access数据库的最大容量(1GB)还要大。

二、这个文件经常被其他数据库应用程序的用户更改。

三、必须在网络上与其他数据库应用程序的用户共享这个文件。

四、需要把应用程序分布到几个单独的用户那里,而且,你可能要不断更新开发的应用程序接口,将“应用程序”与数据分开可以更容易地更新应用程序,而不会干扰用户积累的数据。

这就是为什么要在“获取外部数据”这个过程当中设置两种方法。

如果要用的数据库并不大,但每天都可能要修改,而且由几个人来修改不同的部分,对于这种情况,最重要的是每天都有新的数据要处理,而单纯的将表导入进来,由于在Access中开发新的系统需要一定的时间,在这段时间内就有可能有新的数据输入进来。

利用Excel和Access相结合解决问题

利用Excel和Access相结合解决问题

利用Excel和Access相结合解决问题作者:管智贇来源:《电脑知识与技术》2019年第21期摘要:目前Office套件中的Excel和Access组件在职場中都是应用很广的办公软件,它们各自都有自己擅长的领域。

在实际学习和使用过程中它们大多是被作为独立的学习对象进行的,本文利用实际案例来说明将Excel和Access结合起来解决问题,充分利用它们各自的长处,能够更好地解决问题、提高工作效率。

关键词:Excel;Access;数据处理;查询中图分类号: TP311; ; ; ; 文献标识码:A文章编号:1009-3044(2019)21-0212-03开放科学(资源服务)标识码(OSID):Abstract: Excel and Access are now used everywhere in the workplace, what they do best are different. Learning and using on them are separate. In this paper, a case study of graduation Qualification illustrates that if we combine respective advantages of Excel and Access to solve questions, we would obtain higher work efficiency and better results.Key words: Excel;Access ;Data Processing;QueryOffice是目前全世界最流行的办公软件,包含的组件中又以“Excel”最受职场中的白领们欢迎,堪称“职场护身符”,它能在相当程度上提高个人甚至整个部门的工作效率。

全国各大高校为了满足学生们步入职场之后的通用需求基本都在低年级开设课程,进行包括Office中Word、Excel、PowerPoint、Access组件在内的计算机基础知识的学习。

两种方法完成Access数据库转Excel工作簿

两种方法完成Access数据库转Excel工作簿

两种方法完成Access数据库转Excel工作簿学校希望将本校校友录中收集的校友电子邮件地址以Excel文件的形式提交上去,以方便群发邀请各位校友参加八十周年校庆。

学校校友录数据库是Access的MDB格式,其中包含多个表,校友地址在单独的一个“Student”表中。

这实际上就是要将Access表转换为Excel工作表的形式。

下面我们介绍两种不同的方法完成Access数据库与Excel工作簿转换的工作。

一、在Access数据库中直接导出用Access打开校友录的数据库文件,选中包含校友信息的“student”表,然后单击鼠标右键并选择“导出”命令(如图1)。

在打开的对话框中将“保存类型”改成“Microsoft Excel 97-2003 (*.XLS),然后输入文件名称,单击“导出”按钮,稍后就得到了一个标准的Excel工作簿文件。

注意:在Access程序中还可以轻松将数据库表导出为VF的DBF文件、Paradox的数据库文件、文本文件等多种格式以供调用。

用Excel打开导出得到的文件,将不需要的列删除,只保留姓名和E-mail地址所在的两列(如图2),随后保存,最后将此文件上传给领导审阅即可。

二、用AccessToExcel来帮忙如果对Access数据库操作不熟悉,没关系,可以使用AccessToExcel这款免费软件来帮忙。

AccessTo Excel,顾名思义,就是将Access数据库转换为Excel工作簿。

安装并运行Access ToExcel,单击窗口左上角“导出Access数据库文件”左边的Access图标,在打开的对话框中选择要转换的MDB文件,打开该数据库文件。

提醒:该软件附带提供获取Access数据库密码的功能,但算法不够全面,如果不能获取要打开的数据库密码会弹出提示,请在“Access数据库密码”下手动输入。

单击右侧“数据库操作”标签下的“获取数据库”按钮,稍后将在“数据表名称列表”下显示该数据库中各表的名称(如图3)。

用代码将access中的数据生成Excel表格导出

用代码将access中的数据生成Excel表格导出

用代码将access中的数据生成Excel表格导出。

下面为代码:以下为引用的内容:<!--#include file="../conn.asp"--><%if session("china_admin")="" then response.redirect "login.asp"dbpath="../"dblinkdim filename,fs,myfile,x,m,n,o,linkSet fs = server.CreateObject("scripting.filesystemobject")Set rs = Server.CreateObject("ADODB.Recordset")session("sql") = "select * from china_car"rs.Open session("sql"),conn,1,1n=1'================================================================== '==============================================================建立e xcel文件系统filename = Server.MapPath("car/CarTable"&n&".xls") '这个是为了方便,新建一个CAR 的文件夹,这个可以自己设啦if fs.FileExists(filename) then'如果文件存在,覆盖它。

fs.DeleteFile(filename)end ifset myfile = fs.CreateTextFile(filename,true)'=================================================================== =====dim strLine,responsestrstrLine=""dim work,j,istr="序号|卡号|密码|积分数|金额"'这个根据你的access数据表字段设置。

如何用asp把access中数据导出到excel表格中

如何用asp把access中数据导出到excel表格中

如何用asp把access中数据导出到excel表格中?ASP操作Excel技术总结目录一、环境配置二、ASP对Excel的基本操作三、ASP操作Excel生成数据表四、ASP操作Excel生成Chart图五、服务器端Excel文件浏览、下载、删除方案六、附录正文一、环境配置服务器端的环境配置从参考资料上看,微软系列的配置应该都行,即:1.Win9x+PWS+Office2.Win2000 Professional+PWS+Office3.Win2000 Server+IIS+Office目前笔者测试成功的环境是后二者。

Office的版本没有特殊要求,考虑到客户机配置的不确定性和下兼容特性,建议服务器端Office版本不要太高,以防止客户机下载后无法正确显示。

服务器端环境配置还有两个偶然的发现是:1.笔者开发机器上原来装有金山的WPS2002,结果Excel对象创建始终出现问题,卸载WPS2002后,错误消失。

2.笔者开发ASP代码喜欢用FrontPage,结果发现如果FrontPage打开(服务器端),对象创建出现不稳定现象,时而成功时而不成功。

扩展考察后发现,Office系列的软件如果在服务器端运行,则Excel 对象的创建很难成功。

服务器端还必须要设置的一点是COM组件的操作权限。

在命令行键入“DCOMCNFG”,则进入COM组件配置界面,选择Microsoft Excel后点击属性按钮,将三个单选项一律选择自定义,编辑中将Everyone 加入所有权限。

保存完毕后重新启动服务器。

客户端的环境配置没发现什么特别讲究的地方,只要装有Office和IE即可,版本通用的好象都可以。

二、ASP对Excel的基本操作1、建立Excel对象set objExcelApp = CreateObject("Excel.Application")objExcelApp.DisplayAlerts = false不显示警告objExcelApp.Application.Visible = false不显示界面2、新建Excel文件objExcelApp.WorkBooks.addset objExcelBook = objExcelApp.ActiveWorkBookset objExcelSheets = objExcelBook.Worksheetsset objExcelSheet = objExcelBook.Sheets(1)3、读取已有Excel文件strAddr = Server.MapPath(".")objExcelApp.WorkBooks.Open(strAddr & "\Templet\Table.xls")set objExcelBook = objExcelApp.ActiveWorkBookset objExcelSheets = objExcelBook.Worksheetsset objExcelSheet = objExcelBook.Sheets(1)4、另存Excel文件objExcelBook.SaveAs strAddr & "\Temp\Table.xls"5、保存Excel文件objExcelBook.Save(笔者测试时保存成功,页面报错。

利用accessVBA批量输出word文档+ExcelVBA

利用accessVBA批量输出word文档+ExcelVBA

利⽤accessVBA批量输出word⽂档+ExcelVBA 最近忙⼀个⼩项⽬,要求根据已有的历史与现状资料填写对照表格,总共有⼏⼗份,⾥⾯要求填的数据项也很琐碎,⽽且细节上可能会有⼩的变更与修改。

本⼈很懒,最讨厌就是繁琐的⼿⼯劳动与⽆休⽌的改来改去,刚巧有之前⽤数据采集软件⽣成的access数据库,焉能有不加以充分利⽤之理?于是俺就想办法咯。

既然是access与Word,那就⽤传说中的VBA咯,但⽊⽤过,就上Google猛搜…… 终于找到了⽅法:利⽤VBA查询出需要的数据,然后通过word模板批量⽣成对照表格。

综合access软件⽹⽵笛和另外⼀个叫 Access+VBA套打Word+模板(三种⽅法) 的资料,经过数⼩时的调试,终于⼤功告成,啊哈哈哈,⼈民群众的智慧是⽆穷的哦~~~ 过程介绍如下: 1、先把⽤做模板的word表格需插⼊数据项的位置加上书签(Bookmarks)。

数据项多的话,书签最好⽤⽂字标记,并设置书签为显⽰状态,这样⼀⽬了然,不容易出错误。

2、在access新建⼀个窗体,拖⼀个Button上去,触发单击命令,开始在VB编辑器中敲代码…… 3、查询各表得出需要的数据记录集 (Recordset),利⽤循环语句读取每条记录,打开word模板,⽤数据项替换对应的word书签,然后保存。

--------完事⼤吉,批量输出啦,欧拉拉欧拉拉~~~ 代码如下:CodeOption Compare DatabasePrivate Sub cmdExportAll_Click()Dim rownum As IntegerDim I, N As Integer'使⽤DAO操作打开明细记录集Dim rs As DAO.RecordsetDim sqlStr As String'单库多表查询,需事先将数据集中到⼀个mdb中'sqlStr = "Select * from ckq b , yckq a where b.证号=a.证号"'跨库多表查询,连接多个mdb中数据表,不⽤倒腾数据,直接利⽤已有的mdb数据库,⽅便多了~~~sqlStr = "Select * from [;database=" & CurrentProject.Path & "\ckq.mdb].ckq b , [;database=" & CurrentProject.Path & "\yckq.mdb].yckq a where b.证号=a.证号"Set rs = CurrentDb.OpenRecordset(sqlStr)'如果没有记录 , 不执⾏下⾯程序If rs.EOF Then Exit Sub'为了能得到记录总数量,DAO记录集要先把记录集位置移到最后,否则得不到RECORDCOUNTrs.MoveLastrs.MoveFirstrownum = rs.RecordCount'多条数据的处理,使⽤循环For I = 1To rownum'创建Word对象Set doc = CreateObject("word.application")doc.Visible = True'打开Word⽂件Dim mydoc As ObjectSet mydoc = doc.Documents.Add(CurrentProject.Path & "\表格模板.doc") '使⽤定义好的模板创建新⽂件'mydoc.Bookmarks("template_content_en").Range.Text = (rs!测试字段)'(rs.Fiel(ds(0).Name) '(rs.Fields(0).Value)'最后⾯加上 & "" 避免了当字段为NULL时程序出错中断,省却不少代码⾏与⿇烦,真TMD太有⽤了mydoc.Bookmarks("证号").Range.Text = rs.Fields("b.证号").Value & ""mydoc.Bookmarks("项⽬名称").Range.Text = rs.Fields("b.项⽬名称").Value & "" mydoc.Bookmarks("a传真").Range.Text = rs.Fields("a.传真").Value & ""mydoc.Bookmarks("b传真").Range.Text = rs.Fields("b.传真").Value & ""mydoc.Bookmarks("a电话").Range.Text = rs.Fields("a.电话").Value & ""mydoc.Bookmarks("b电话").Range.Text = rs.Fields("b.电话").Value & ""mydoc.Bookmarks("a地址").Range.Text = rs.Fields("a.地址").Value & ""mydoc.Bookmarks("b地址").Range.Text = rs.Fields("b.地址").Value & ""'以下省略N项'.........'.........Select Case rs.Fields("a.项⽬类型").Value & ""Case"1"mydoc.Bookmarks("a1").Range.Text = "√"mydoc.Bookmarks("a2").Range.Text = ""Case"2"mydoc.Bookmarks("a1").Range.Text = ""mydoc.Bookmarks("a2").Range.Text = "√"Case Elsemydoc.Bookmarks("a1").Range.Text = ""mydoc.Bookmarks("a2").Range.Text = ""End Select'以下为坐标数字串,XY坐标分开存储,X11位,Y12位,读取时根据位数截取'mid("1234",2,2)'mid(string,start,len)'Mid("1234", insrt("1234","23"), len("23"))Dim XA, YA, XB, YB As StringXA = rs.Fields("a.经度坐标").Value & ""YA = rs.Fields("a.纬度坐标").Value & ""XB = rs.Fields("b.经度坐标").Value & ""YB = rs.Fields("b.纬度坐标").Value & ""'Dim XYnum As Integer'XYnum = Len(XB) / 11For N = 1To22mydoc.Bookmarks("XA" & N).Range.Text = Mid(XA, N * 11 + 1, 11) & ""mydoc.Bookmarks("YA" & N).Range.Text = Mid(YA, N * 12 + 1, 12) & ""mydoc.Bookmarks("XB" & N).Range.Text = Mid(XB, N * 11 + 1, 11) & ""mydoc.Bookmarks("YB" & N).Range.Text = Mid(YB, N * 12 + 1, 12) & ""Next'If XYnum < 14 Then'For N = XYnum + 1 To 14'mydoc.Bookmarks("XB" & N).Range.Text = ""'mydoc.Bookmarks("YB" & N).Range.Text = ""'Next''Else'End If'保存word⽂档mydoc.SaveAs CurrentProject.Path & "\" & rs.Fields("a.项⽬名称").Value & ".doc"'释放对象变量Set doc = Nothingrs.MoveNextNextrs.CloseEnd Sub 2010年1⽉12⽇,试验了⼀下Excel VBA下的批量输出,代码如下:CodePrivate Sub CommandButton1_Click()Dim I As IntegerFor I = 1To5'rownum '多条数据的处理,使⽤循环'创建Word对象Set doc = CreateObject("word.application")doc.Visible = True'打开Word⽂件Dim mydoc As ObjectSet mydoc = doc.Documents.Add(ActiveWorkbook.Path & "\说明模板.doc") '使⽤定义好的模板创建新⽂件,access中取当前路径为CurrentProject.Path'开始替换书签mydoc.Bookmarks("许可证号").Range.Text = Cells(I + 1, 1).Value & ""mydoc.Bookmarks("法⼈代表").Range.Text = Cells(I + 1, 2).Value & ""mydoc.Bookmarks("地址").Range.Text = Cells(I + 1, 3).Value & ""mydoc.Bookmarks("名称").Range.Text = Cells(I + 1, 4).Value & ""mydoc.Bookmarks("⽇期").Range.Text = Format(Cells(I + 1, 23).Value & "", "yyyy年m⽉d⽇")Dim N&, Dr, Ddr$Dim pathFileSaved As String'指定报表⽣成路径引⽤,正式路径'pathFileSaved = CurrentProject.Path & "\CKQ\410000\" & Cells(I + 1, 1).Value & "\属性数据\说明"'以下为测试路径pathFileSaved = ActiveWorkbook.Path & "\测试输出"'⽂件⽬录不存在的情况下,建⽴⽂件⽬录,⽂件⽬录按 pathFileSavedOn Error Resume NextDr = Split(pathFileSaved, "\")Ddr = Dr(0)For N = 1To UBound(Dr)Ddr = Ddr & "\" & Dr(N)MkDir DdrNextErr.ClearOn Error GoTo0'mydoc.SaveAs pathFileSaved & "\DQK" & Cells(I + 1, 1).Value & ".doc" '正式名称mydoc.SaveAs pathFileSaved & "\" & Cells(I + 1, 4).Value & "DQK" & Cells(I + 1, 1).Value & ".doc"'测试名称'释放对象变量Set doc = NothingNextEnd Sub。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Access导出到Excel提速之法
Visual Basic 导出到Excel 提速之法
Excel 是一个非常优秀的报表制作软件,用VBA可以控制其生成优秀的报表,本文通过添加查询语句的方法,即用Excel中的获取外部数据的功能将数据很快地从一个查询语句中捕获到EXCEL中,比起往每个CELL里写数据的方法提高许多倍。

将下文加入到一个模块中,屏幕中调用如下ExporToExcel("select * from table"则实现将其导出到EXCEL中
Public Function ExporToExcel(strOpen As String)
'*********************************************************
'* 名称:ExporToExcel
'* 功能:导出数据到EXCEL
'* 用法:ExporToExcel(sql查询字符串)
'*********************************************************
Dim Rs_Data As New ADODB.Recordset
Dim Irowcount As Integer
Dim Icolcount As Integer
Dim xlApp As New Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Dim xlQuery As Excel.QueryTable
With Rs_Data
If .State = adStateOpen Then
.Close
End If
.ActiveConnection = Cn
.CursorLocation = adUseClient
.CursorType = adOpenStatic
.LockType = adLockReadOnly
.Source = strOpen
.Open
End With
With Rs_Data
If .RecordCount < 1 Then
MsgBox ("没有记录!"
Exit Function
End If
'记录总数
Irowcount = .RecordCount
'字段总数
Icolcount = .Fields.Count
End With
Set xlApp = CreateObject("Excel.Application"
Set xlBook = Nothing
Set xlSheet = Nothing
Set xlBook = xlApp.Workbooks().Add
Set xlSheet = xlBook.Worksheets("sheet1"
xlApp.Visible = True
'添加查询语句,导入EXCEL数据
Set xlQuery = xlSheet.QueryTables.Add(Rs_Data, xlSheet.Range("a1")
With xlQuery
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
End With
xlQuery.FieldNames = True '显示字段名
xlQuery.Refresh
With xlSheet
.Range(.Cells(1, 1), .Cells(1, Icolcount)) = "黑体"
'设标题为黑体字
.Range(.Cells(1, 1), .Cells(1, Icolcount)).Font.Bold = True
'标题字体加粗
.Range(.Cells(1, 1), .Cells(Irowcount + 1, Icolcount)).Borders.LineStyle = xlContinuous
'设表格边框样式
End With
With xlSheet.PageSetup
.LeftHeader = "" & Chr(10) & "&""楷体_GB2312,常规""&10公司名称:" ' & Gsmc
.CenterHeader = "&""楷体_GB2312,常规""公司人员情况表&""宋体,常规""" & Chr(10) & "&""楷体_GB2312,常规""&10日期:"
.RightHeader = "" & Chr(10) & "&""楷体_GB2312,常规""&10单位:" .LeftFooter = "&""楷体_GB2312,常规""&10制表人:"
.CenterFooter = "&""楷体_GB2312,常规""&10制表日期:"
.RightFooter = "&""楷体_GB2312,常规""&10第&P页共&N页" End With
xlApp.Application.Visible = True
Set xlApp = Nothing '"交还控制给Excel
Set xlBook = Nothing
Set xlSheet = Nothing
End Function。

相关文档
最新文档