VB6.0导出excel方法源代码方法一:用Msflexgrid的Textmatrix属性取Msflexgrid中每一个单元格的内容,然后填到Excel表中,或者写成CSV格式方法二:直接把查询结果导出成Excel工作表PublicSubExport(formnameAsForm,flexgridnameAsString)DimxlAppAsObject'Excel.ApplicationDimxlBookAsObject'Excel.WorkbookDimxlSheetAsObject'Excel.WorksheetScreen.MousePointer=vbHourglassOnErrorGoToErr_ProcSetxlApp=CreateObject("Excel.Application")SetxlBook=xlApp.Workbooks.AddSetxlSheet=xlBook.Worksheets(1)'BegintofilldatatosheetDimiAsLongDimjAsIntegerDimkAsIntegerWithformname.Controls(flexgridname)Fori=0To.rows-1k=0Forj=0To.Cols-1If.colwidth(j)>20Or.colwidth(j)<0Thenk=k+1xlSheet.Cells(i+1,k).Value=""'&.TextMatrix(i,j)EndIfNextjNextiEndWithxlApp.Visible=TrueScreen.MousePointer=vbDefaultExitSubErr_Proc:Screen.MousePointer=vbDefaultMsgBox”请确认您的电脑已安装Excel!",vbExclamation,"提示”EndSubPublicFunctionExporToExcel(strOpenAsString)I*********************************************************'*名称:ExporToExcel'*功能:导出数据到EXCEL'*用法:ExporToExcel(sql查询字符串)I*********************************************************DimRs_DataAsNewADODB.RecordsetDimIrowcountAsIntegerDimIcolcountAsIntegerDimcnAsNewADODB.ConnectionDimxlAppAsNewExcel.ApplicationDimxlBookAsExcel.WorkbookDimxlSheetAsExcel.WorksheetDimxlQueryAsExcel.QueryTableWithRsDataIf.State=adStateOpenThen.CloseEndIf.ActiveConnection="provider=msdasql;DRIVER=MicrosoftVisualFoxProDriver;UID=;Deleted=yes;Null=no;Collate=Machine;BackgroundFetch=no;Exclusive=No;SourceType=DBF;SourceDB=D:\DBF;".CursorLocation=adUseClient.CursorType=adOpenStatic.Source=strOpen.OpenEndWithWithRs_DataIf.RecordCount<1ThenMsgBox("没有记录!")EndExitEndIf'记录总数Irowcount'字段总数IcolcountWithFunction=.RecordCount=.Fields.CountSetxlApp=SetxlBookSetxlSheetSetxlBookSetxlSheetxlApp.VisibleCreateObject("Excel.Application")=Nothing=Nothing=xlApp.Workbooks().Add=xlBook.Worksheets("sheet1")=True'添加查询语句,导入EXCEL数据SetxlQuery=xlSheet.QueryTables.Add(Rs_Data,xlSheet.Range("a1"))xlQuery.FieldNames=True'显示字段名xlQuery.RefreshxlApp.Application.Visible=TrueSetxlApp=Nothing"'交还控制给ExcelSetxlBook=NothingSetxlSheet=NothingEndFunction,*********************************************************'*名称:OutDataToExcel'*功能:将MsFlexGrid控件中显示的内容输出到Excel表格中进行打印,*********************************************************PublicSubOutDataToExcel(FlexAsMSFlexGrid)'导出至ExcelDimsAsStringDimiAsIntegerDimjAsIntegerDimkAsIntegerOnErrorGoToErtMe.MousePointer=11DimExcelappAsExcel.ApplicationSetExcelapp=NewExcel.ApplicationOnErrorResumeNextDoEventsExcelapp.SheetsInNewWorkbook=1Excelapp.Workbooks.AddExcelapp.ActiveSheet.Cells(1,3)=sExcelapp.Range("C1").SelectExcelapp.Selection.Font.FontStyle="Bold"Excelapp.Selection.Font.Size=16WithFlexk=.RowsFori=0Tok-1Forj=0To.Cols-1DoEventsExcelapp.ActiveSheet.Cells(3+i,j+1)="'"&.TextMatrix(i,j)NextjNextiEndWithMe.MousePointer=0Excelapp.Visible=TrueExcelapp.Sheets.PrintPreviewErt:IfNot(ExcelappIsNothing)ThenExcelapp.QuitEndIfEndSub一个按钮,点击出现对话框(对话框控件已经有),在硬盘里面查找excel文件(当然,后缀名是xls了),找到目标excel文件后,该excel文件里面是一些数据,点击确定,就可以把excel里面的内容保存到MSFlexGrid控件里面了还有一个,按钮,点击后出现对话框,可以保存MSFlexGrid里面的东西到一个excel里面谢谢大家了用CommonDialog可以解决选定打开.xls文件问
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
然后就是读取进去哈哈保存代码如下添加command控件一个MSFlexGrid控件一个PrivateSubCommand1_Click()OnErrorResumeNextDimfileaddAsStringCommonDialog1.ShowOpenCommonDialog1.Filter="xls文件(*.xls)|*.xls”选择你要的文件fileadd=CommonDialog1.FileNameMSHFlexGrid1.Redraw=False'关闭表格重画,加快运行速度SetxlApp=CreateObject("Excel.Application")创建EXCEL对象SetxlBook=xlApp.Workbooks.Open(fileadd)打开已经存在的EXCEL工件簿文件xlApp.Visible=True'设置EXCEL对象可见(或不可见)Setxlsheet=xlBook.Worksheets("Sheet1”)设置活动工作表ForR=0ToMSHFlexGrid1.Rows-1行循环ForC=0ToMSHFlexGrid1.Cols-1'列循环MSHFlexGrid1.Row=RMSHFlexGrid1.Col=CxlBook.Worksheets("Sheet1”).Cells(R+1,C+1)=MSHFlexGrid1.Text保存到EXCELNextCNextRMSHFlexGridl.Redraw=TruexIApp.DisplayAlerts=False'不进行安全提示'Setxlsheet=Nothing'SetxlBook=Nothing'xlApp.Quit'SetxlApp=NothingEndSub