vb将Excel导入到DataGrid(或数据库)_第1页
vb将Excel导入到DataGrid(或数据库)_第2页
vb将Excel导入到DataGrid(或数据库)_第3页
vb将Excel导入到DataGrid(或数据库)_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、方法一:把Excel当作数据库来操作(这样速度快)或用Excel对象来做,读取数据,然后循环导入读取数据然后一条条的导进去,循环操作因为数据量大很慢。如何把excel像数据库那样读?难道写成结构体数组么?当作数据库操作:引用ado:工程引用MicrosoftActiveXDataObject2.x(版本号)PrivateSubForm_Load()DimcnAsNewADODB.Connection,rsAsNewADODB.Recordsetcn.CursorLocation=adUseClientcn.OpenProvider=Microsoft.Jet.OLEDB.4.0;Persist

2、SecurityInfo=False;DataSource=&App.Path&temp.xls;ExtendedProperties=Excel8.0;HDR=Yesrs.Openselect*fromSheet1$,cn,adOpenDynamic,adLockOptimisticSetDataGrid1.DataSource=rsEndSub方法二:EXCEL文件要设置固定格式,还要设置命名范围,然后才可以导入大致思路如下:/设置打开EXCEL文件的连接字符串strConn=Provider=Microsoft.Jet.OLEDB.4.0;&_DataSource=excel文件名;Ex

3、tendedProperties=Excel8.0/以记录集的形式打开Excel文件,adoConn为ADODB.Connection对象adoConn.OpenstrConn7/将数据插入到指定的表中(以ODBC的方式打开SQL数据库)strSQL=INSERTINTOodbc;Driver=SQLServer;Server=服务器IP;Database=数据库;UID-用户名;PWD=密码.SQL中的表名SELECTEXCEL中的字段FROMEXCEL工作表名/执行导入语句adoConn.ExecutestrSQL,adExecuteNoRecords方法三:DimConnAsADODB.

4、ConnectionSetConn=NewADODB.ConnectionConn.Open连接到你的数据库XJGL.MDB的字符串Conn.Executeselect*intotmptablefromexcel8.0;database=+你的excel表名+.sheet名$Conn.Executeinsertintoxsda(学籍号,准考证号,姓名,性别,出生年月,班级)select学籍号,准考证号,姓名,性别,出生年月,班级fromtmptableConn.ExecutedroptabeltmptableSetConn=NothingVB新建Excel文档PublicxlAppAsExce

5、l.ApplicationPublicxlBookAsExcel.WorkbookPublicxlCharAsNewExcel.ChartPublicxlSheetAsNewExcel.WorksheetSetxlApp=NewExcel.ApplicationSetxlApp=CreateObject(Excel.Application)SetxlBook=xlApp.Workbooks.AddSetxlSheet=xlBook.Worksheets.AddxlSheet.Cells(1,1)=测试写入内容xlBook.SaveAs(FILENAME)保存文件xlApp.QuitSetxlA

6、pp=Nothing本方法采用add添加excel文件和datasheet,然后用save保存。如果用xlApp.Visible=False,则自动生成文件。但是如果文件已经存在,则会弹出是否覆盖的提示。因此,最好先在程序中检查文件是否已经存在,如果存在,则用普通方法打开。如果不存在,则用add添加,并保存。vb导出数据到ExcelPublicFunctionExporToExcel(strOpenAsString)入参为SQL查询语句t1TxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTx

7、TxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTx*名称:ExporToExcel*功能:导出数据到EXCEL*用法:ExporToExcel(sql查询字符串)t1TxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxDimRs_DataAsNewADODB.RecordsetDimIrowcountAsIntegerDimIcolcountAsIntegerDimFILENAMEAsStringD

8、imxlAppAsNewExcel.ApplicationDimxlBookAsExcel.WorkbookDimxlSheetAsExcel.WorksheetDimxlQueryAsExcel.QueryTableWithRs_DataIf.State=adStateOpenThen.CloseEndIf.ActiveConnection=Cn.CursorLocation=adUseClient.CursorType=adOpenStatic.LockType=adLockReadOnly.Source=strOpen.OpenEndWithWithRs_DataIf.RecordCou

9、nt1ThenMsgBox(没有记录!)ExitFunctionEndIf记录总数Irowcount=.RecordCount字段总数Icolcount=.Fields.CountEndWithSetxlApp=CreateObject(Excel.Application)SetxlBook=NothingSetxlSheet=NothingSetxlBook=xlApp.Workbooks().AddSetxlSheet=xlBook.Worksheets(sheet1)xlApp.Visible=FalseExcel在后台运行添加查询语句,导入EXCEL数据SetxlQuery=xlShe

10、et.QueryTables.Add(Rs_Data,xlSheet.Range(a1)WithxlQuery.FieldNames=True.RowNumbers=False.FillAdjacentFormulas=False.PreserveFormatting=True.RefreshOnFileOpen=False.BackgroundQuery=True.RefreshStyle=xlInsertDeleteCells.SavePassword=True.SaveData=True.AdjustColumnWidth=True.RefreshPeriod=0.PreserveCol

11、umnInfo=TrueEndWithxlQuery.FieldNames=True显示字段名xlQuery.RefreshWithxlSheet.Range(.Cells(1,1),.Cells(1,Icolcount).Font.Name=黑体设标题为黑体字.Range(.Cells(1,1),.Cells(1,Icolcount).Font.Bold=True标题字体加粗.Range(.Cells(1,1),.Cells(Irowcount+1,Icolcount).Borders.LineStyle=xlContinuous设表格边框样式EndWithWithxlSheet.PageSetup.LeftHeader=&Chr(lO)&”楷体GB2312,常规”&10公司名称:&Gsmc.LeftHeader=&Chr(10)&”楷体GB2312,常规”&10统计时间:.CenterHeader=&楷体GB

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论