vb將Excel導(dǎo)入到DataGrid(或數(shù)據(jù)庫(kù))_第1頁(yè)
vb將Excel導(dǎo)入到DataGrid(或數(shù)據(jù)庫(kù))_第2頁(yè)
vb將Excel導(dǎo)入到DataGrid(或數(shù)據(jù)庫(kù))_第3頁(yè)
vb將Excel導(dǎo)入到DataGrid(或數(shù)據(jù)庫(kù))_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、方法一:把Excel當(dāng)作數(shù)據(jù)庫(kù)來(lái)操作(這樣速度快)或用Excel對(duì)象來(lái)做,讀取數(shù)據(jù),然后循環(huán)導(dǎo)入讀取數(shù)據(jù)然后一條條的導(dǎo)進(jìn)去,循環(huán)操作因?yàn)閿?shù)據(jù)量大很慢。如何把excel像數(shù)據(jù)庫(kù)那樣讀?難道寫成結(jié)構(gòu)體數(shù)組么?當(dāng)作數(shù)據(jù)庫(kù)操作:引用ado:工程引用MicrosoftActiveXDataObject2.x(版本號(hào))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文件要設(shè)置固定格式,還要設(shè)置命名范圍,然后才可以導(dǎo)入大致思路如下:/設(shè)置打開(kāi)EXCEL文件的連接字符串strConn=Provider=Microsoft.Jet.OLEDB.4.0;&_DataSource=excel文件名;Ex

3、tendedProperties=Excel8.0/以記錄集的形式打開(kāi)Excel文件,adoConn為ADODB.Connection對(duì)象adoConn.OpenstrConn7/將數(shù)據(jù)插入到指定的表中(以O(shè)DBC的方式打開(kāi)SQL數(shù)據(jù)庫(kù))strSQL=INSERTINTOodbc;Driver=SQLServer;Server=服務(wù)器IP;Database=數(shù)據(jù)庫(kù);UID-用戶名;PWD=密碼.SQL中的表名SELECTEXCEL中的字段FROMEXCEL工作表名/執(zhí)行導(dǎo)入語(yǔ)句adoConn.ExecutestrSQL,adExecuteNoRecords方法三:DimConnAsADODB.

4、ConnectionSetConn=NewADODB.ConnectionConn.Open連接到你的數(shù)據(jù)庫(kù)XJGL.MDB的字符串Conn.Executeselect*intotmptablefromexcel8.0;database=+你的excel表名+.sheet名$Conn.Executeinsertintoxsda(學(xué)籍號(hào),準(zhǔn)考證號(hào),姓名,性別,出生年月,班級(jí))select學(xué)籍號(hào),準(zhǔn)考證號(hào),姓名,性別,出生年月,班級(jí)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)=測(cè)試寫入內(nèi)容xlBook.SaveAs(FILENAME)保存文件xlApp.QuitSetxlA

6、pp=Nothing本方法采用add添加excel文件和datasheet,然后用save保存。如果用xlApp.Visible=False,則自動(dòng)生成文件。但是如果文件已經(jīng)存在,則會(huì)彈出是否覆蓋的提示。因此,最好先在程序中檢查文件是否已經(jīng)存在,如果存在,則用普通方法打開(kāi)。如果不存在,則用add添加,并保存。vb導(dǎo)出數(shù)據(jù)到ExcelPublicFunctionExporToExcel(strOpenAsString)入?yún)镾QL查詢語(yǔ)句t1TxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTx

7、TxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTx*名稱:ExporToExcel*功能:導(dǎo)出數(shù)據(jù)到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(沒(méi)有記錄!)ExitFunctionEndIf記錄總數(shù)Irowcount=.RecordCount字段總數(shù)Icolcount=.Fields.CountEndWithSetxlApp=CreateObject(Excel.Application)SetxlBook=NothingSetxlSheet=NothingSetxlBook=xlApp.Workbooks().AddSetxlSheet=xlBook.Worksheets(sheet1)xlApp.Visible=FalseExcel在后臺(tái)運(yùn)行添加查詢語(yǔ)句,導(dǎo)入EXCEL數(shù)據(jù)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=黑體設(shè)標(biāo)題為黑體字.Range(.Cells(1,1),.Cells(1,Icolcount).Font.Bold=True標(biāo)題字體加粗.Range(.Cells(1,1),.Cells(Irowcount+1,Icolcount).Borders.LineStyle=xlContinuous設(shè)表格邊框樣式EndWithWithxlSheet.PageSetup.LeftHeader=&Chr(lO)&”楷體GB2312,常規(guī)”&10公司名稱:&Gsmc.LeftHeader=&Chr(10)&”楷體GB2312,常規(guī)”&10統(tǒng)計(jì)時(shí)間:.CenterHeader=&楷體GB

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論