VB6[1].0_导出excel_方法源代码
- 格式:doc
- 大小:60.50 KB
- 文档页数:5
利用VBA实现自定义的数据导入导出数据导入导出是一项重要的任务,无论是在个人使用Excel还是在组织中,都需要频繁地将数据导入和导出。
而利用VBA编程可以实现自定义的数据导入导出功能,帮助我们更高效地处理数据。
自定义数据导入导出功能可以根据特定的需求,从不同的数据源中导入数据到Excel,并将Excel中的数据导出到指定的文件或数据源中。
下面将分别介绍在Excel中如何利用VBA编写代码实现数据导入和数据导出的功能。
一、利用VBA实现数据导入数据导入是将外部数据源(如数据库、文本文件等)的数据导入到Excel表格中的操作。
以下是一个简单的示例,演示如何通过VBA实现数据导入的功能。
首先,打开Excel,并按下“ALT+F11”进入VBA编辑器。
在VBA编辑器中,点击“插入”按钮,选择“模块”,然后在模块中编写以下代码:```vbaSub ImportData()Dim conn As ObjectDim rs As ObjectDim strSql As StringDim strConn As String' 设置连接字符串,根据实际数据源进行修改strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\data.mdb;Persist Security Info=False"' 设置SQL查询语句,根据实际需要进行修改strSql = "SELECT * FROM data_table"' 创建连接对象Set conn = CreateObject("ADODB.Connection")' 打开连接conn.Open strConn' 创建记录集对象Set rs = CreateObject("ADODB.Recordset")' 执行查询rs.Open strSql, conn' 将查询结果导入到当前活动工作表中Sheet1.Cells(1, 1).CopyFromRecordset rs' 关闭记录集和连接rs.Closeconn.Close' 释放对象Set rs = NothingSet conn = NothingEnd Sub```在上述代码中,我们首先设置了连接字符串(根据实际数据源进行修改)和SQL查询语句(根据实际需要进行修改)。
利用VBA实现Excel数据的导入导出Excel是最常用的电子表格软件之一,广泛应用于数据处理和数据分析工作中。
在实际工作中,我们经常需要将数据从其他系统或者文件中导入到Excel中进行进一步处理,或者将Excel中的数据导出到其他系统或文件中。
利用VBA(Visual Basic for Applications)编程语言,我们可以自动化这些繁琐的数据导入导出任务,提高工作效率。
在本文中,我将介绍如何使用VBA实现Excel数据的导入导出功能。
首先,我们将关注数据的导入功能。
通常情况下,我们会从各种格式的文件中导入数据到Excel中进行进一步处理。
VBA提供了一种方式,可以通过编程实现自动读取文件中的数据,并将数据存储到Excel的工作表中。
以下是一个示例代码,用于从一个文本文件中导入数据到Excel中:```vbaSub ImportData()Dim FilePath As StringDim FileContent As StringDim FileLines() As StringDim i As Integer'选择要导入的文件FilePath = Application.GetOpenFilename("Text Files (*.txt), *.txt") '读取文件内容Open FilePath For Input As #1FileContent = Input$(LOF(1), 1)Close #1'按行分割文件内容FileLines = Split(FileContent, vbCrLf)'将数据导入到Excel工作表中For i = LBound(FileLines) To UBound(FileLines)Cells(i + 1, 1).Value = FileLines(i)Next iEnd Sub```在这个示例中,我们首先使用`Application.GetOpenFilename`方法让用户选择要导入的文本文件。
VB导出Excel(导入指定格式的Excel文档中)VB 是常用的应用软件开发工具之一,由于VB的报表功能有限,而且一旦报表的格式发生变化,就得相应修改程序,给应用软件的维护工作带来极大的不便。
因此有很多程序员现在已经充分利用Excel 的强大报表功能来实现报表功能。
但由于 VB 与 Excel 分别属于不同的应用系统,如何把它们有机地结合在一起,是一个值得我们研究的课题。
1、在工程中添加一些报表的引用:如下:Interop.Excel(选择 Microsoft Excel 9.0 Object Library ---Excel 2000)然后选择确定,表示在工程中已经添加了类库。
2、在通用对象的声明过程中定义 Excel 对象dim xlApp As Excel.Application ‘Application 对象是 Excel 对象模型中最高层级的对象,代表Excel应用程序本身,也包含组成工作薄的许多部分,包括工作薄、工作表、单元格集合以及它们包含的数据。
dim xlBook As Excel.Workbook ’设置 xlBook 为一个工作薄dim xlSheet As Excel.Worksheet ‘设置 xlSheet 为一个工作薄的工作表3、在程序中操作 Excel 表常用命令:xlApp.AskToUpdateLinks=False‘来取消讨厌的对话框xlApp.Application.AskToUpdateLinks=False’屏蔽是否更新链接的对话框x lApp.AlertBeforeOverwriting=False’屏蔽弹出保存和覆盖的询问提示框xlApp.Application.DisplayAlerts=False‘屏蔽删除工作表时询问是否删除的对话框xlApp.Visible=False'设置 Excel 对象不可见(或可见)xlBook=xlApp.Workbooks.Open(fileName,2,False)’打开已经存在的 Excel 工作薄文件xlBook.Save()'保存xlBook.Close(True)'关闭工作薄x lApp.Quit()’结束 Excel 对象xlApp=Nothing ‘释放 xlApp 对象xlBook=Nothing ’释放 xlBook 对象xlSheet=Nothing ‘释放 xlSheet 对象4、在运用以上 VB 命令操作 Excel 表时,除非设置 Excel 对象不可见,否则 VB 程序可继续执行其他操作,也能够关闭 Excel,同时也可对 Excel 进行操作。
用V B操作E x c e l(V B6.0)(整理) 全面控制Excel:首先创建Excel对象,使用ComObj:Dim ExcelID as Excel.ApplicationSet ExcelID as new Excel.Application?1)显示当前窗口:? ExcelID.Visible:=True;2)更改Excel标题栏:? ExcelID.Caption:='应用程序调用MicrosoftExcel';3)添加新工作簿:4)打开已存在的工作簿:5)设置第2个工作表为活动工作表:? ExcelID.WorkSheets[2].Activate;或ExcelID.WorkSheets['Sheet2'].Activate;6)给单元格赋值:? ExcelID.Cells[1,4].Value:='第一行第四列';7)设置指定列的宽度(单位:字符个数),以第一列为例:8)设置指定行的高度(单位:磅)(1磅=0.035厘米),以第二行为例:9)在第8行之前插入分页符:? ExcelID.WorkSheets[1].Rows[8].PageBreak:=1;10)在第8列之前删除分页符:11)指定边框线宽度:? 1-左 2-右 3-顶4-底 5-斜(\) 6-斜(/)12)清除第一行第四列单元格公式:13)设置第一行字体属性:14)进行页面设置:a.页眉:b.页脚:c.页眉到顶端边距2cm:d.页脚到底端边距3cm:e.顶边距2cm:f.底边距2cm:g.左边距2cm:h.右边距2cm:i.页面水平居中:j.页面垂直居中:k.打印单元格网线:15)拷贝操作:a.拷贝整个工作表:b.拷贝指定区域:c.从A1位置开始粘贴:d.从文件尾部开始粘贴:16)插入一行或一列:17)删除一行或一列:18)打印预览工作表:19)打印输出工作表:20)工作表保存:? Endif21)工作表另存为:? ExcelID.SaveAs('C:\Excel\Demo1.xls');22)放弃存盘:23)关闭工作簿:24)退出Excel:? ExcelID.Quit;25)设置工作表密码:26)EXCEL的显示方式为最大化ndowState=xlMaximized?27)工作薄显示方式为最大化28)设置打开默认工作薄数量? ExcelID.SheetsInNewWorkbook=329)'关闭时是否提示保存(true保存;false不保存) ? ExcelID.DisplayAlerts=False30)设置拆分窗口,及固定行位置31)设置打印时固定打印内容32)设置打印标题33)设置显示方式(分页方式显示)34)设置显示比例35)让Excel响应DDE请求用VB操作EXCEL示例代码? Private Sub Command3_Click()? On Error GoTo err1? Dim i As Long? Dim j As Long? Dim objExl As Excel.Application '声明对象变量? Me.MousePointer=11 '改变鼠标样式? Set objExl=New Excel.Application'初始化对象变量? objExl.SheetsInNewWorkbook=1? '将新建的工作薄数量设为1?? objExl.Sheets("book1").Select? '选中工作薄<book1>? For i=1 To 50'循环写入数据? For j=1 To 5? If i=1 Then??? objExl.Cells(i,j)="E"&i&j? Else??? objExl.Cells(i,j)=i&j? EndIf? Next? Next? objExl.Rows("1:1").Select '选中第一行? Format(Now,"yyyy年mm月dd日hh:MM:ss")? '给工作表加密码? Contents:=True,Scenarios:=True? objExl.Visible=True? '使EXCEL可见? objExl.SheetsInNewWorkbook=3? '将默认新工作薄数量改回3个? ? Set objExl=Nothing'清除对象? Me.MousePointer=0 '修改鼠标? ExitSub? err1:??? objExl.SheetsInNewWorkbook=3?? objExl.DisplayAlerts=False? '关闭时不提示保存? objExl.Quit'关闭EXCEL? objExl.DisplayAlerts=True '关闭时提示保存? Set objExl=Nothing? Me.MousePointer=0? End Sub。
VBA实现Excel数据导入导出嘿,大家好,我是刘震云。
今天咱们聊聊这个VBA,也就是Visual Basic for Applications。
这玩意儿对于搞Excel的人来说,那可是一大利器。
咱们就聊聊怎么用VBA来实现Excel数据的导入导出。
先说导入吧,导入数据这事儿,其实也就那么一回事。
你先打开Excel,然后点“开发工具”,这个得你自己去找,有时候它藏得挺深。
找到之后,你会看到一个VBA编辑器,里面好像一个大黑盒子,里面啥都没有,有点像我们小时候玩过的那种拼图游戏,需要你去填空。
导入数据之前,你先得写个宏。
宏这东西,简单点说,就是自动执行的一系列操作。
你要导入数据,就得先告诉VBA,你要导入的数据在哪儿,你想导到哪儿。
这就需要你写点代码,比如说这样:```vbaSub 导入数据()Dim objExcel As ObjectSet objExcel = CreateObject("Excel.Application")Dim objWorkbook As ObjectDim objWorksheet As ObjectDim ws As WorksheetDim strFileName As StringDim i As LongstrFileName = "C:\数据源.xlsx" ' 告诉VBA数据源文件路径objExcel.Workbooks.Open strFileNameFor Each ws In objExcel.Workbooks(1).WorksheetsSet objWorksheet = wsFor i = 1 To ws.Cells(ws.Rows.Count, "A").End(xlUp).Row' 假设你要导入的数据在源Excel的A列,从第1行开始ws.Cells(i, "B").Value = objWorksheet.Cells(i, "A").ValueNext iNext wsobjExcel.Workbooks(1).Close False ' 关闭源Excel文件 Set objWorksheet = NothingSet objWorkbook = NothingSet objExcel = NothingEnd Sub```这段代码的意思是,打开一个Excel文件,然后将里面A列的数据导出到目标Excel的B列。
VBA实现Excel数据导入和导出的实用方法Excel是一款功能强大的办公软件,而VBA(Visual Basic for Applications)是Excel的一种编程语言,它可以帮助我们实现各种自动化任务。
在本篇文章中,我将为您介绍VBA实现Excel数据导入和导出的实用方法。
一、数据导入方法:1. 打开Excel,按下“ALT + F11”打开VBA编辑器。
2. 在VBA编辑器中,选择“插入”-“模块”,在新建的模块中编写以下代码:```vbaSub ImportData()Dim dataWorkbook As WorkbookDim importWorkbook As WorkbookDim importSheet As WorksheetDim importRange As Range'选择需要导入数据的Excel文件Application.FileDialog(msoFileDialogOpen).Show'将选择的文件导入到新建的工作簿Set importWorkbook =Workbooks.Open(FileName:=Application.FileDialog(msoFileDialogOpen). SelectedItems(1))'选择需要导入数据的工作表和范围Set importSheet = importWorkbook.Sheets("Sheet1") '根据需要修改工作表名称Set importRange = importSheet.Range("A1:B10") '根据需要修改数据范围'将数据复制到当前工作簿中importRange.Copy ThisWorkbook.Sheets("Sheet1").Range("A1") '根据需要修改当前工作簿和工作表名称'关闭导入的工作簿,不保存更改importWorkbook.Close SaveChanges:=FalseEnd Sub```3. 关闭VBA编辑器,返回Excel界面,按下“ALT + F8”调出宏对话框,选择并运行“ImportData”宏。
通过VBA实现Excel数据导入导出的方法Excel是一款功能强大的电子表格软件,在处理和分析大量数据时非常实用。
VBA(Visual Basic for Applications)是一种编程语言,可以用来自动化Excel任务,例如数据导入和导出。
本文将介绍使用VBA实现Excel数据导入和导出的方法。
首先,我们将讨论如何使用VBA来导入数据到Excel。
数据可以来自各种来源,如文本文件、数据库或其他Excel工作簿。
下面是一个示例,演示如何从文本文件导入数据:```vbaSub ImportData()Dim filePath As StringDim ws As WorksheetDim rng As Range' 获取要导入的文件路径filePath = Application.GetOpenFilename("Text Files (*.txt), *.txt")' 检查用户是否选择了文件If filePath <> "False" Then' 选择要导入数据的工作表Set ws = ThisWorkbook.Sheets("数据")' 选择要导入数据的起始单元格Set rng = ws.Range("A1")' 清空起始单元格及其之后的数据ws.Range(rng, ws.Cells(ws.Rows.Count,rng.Column)).ClearContents' 使用文本导入向导导入数据With ws.QueryTables.Add(Connection:="TEXT;" & filePath, Destination:=rng).TextFileParseType = xlDelimited.TextFileCommaDelimiter = True.RefreshEnd With' 删除导入数据时自动创建的查询表ws.QueryTables(1).DeleteMsgBox "数据导入完成。
往链点点通共享资源,了解更多请登录VB6.0 导出excel 方法源代码方法一:用Msflexgrid的Textmatrix属性取Msflexgrid中每一个单元格的内容,然后填到Excel表中,或者写成CSV格式方法二:直接把查询结果导出成Excel工作表Public Sub Export(formname As Form, flexgridname As String)Dim xlApp As Object 'Excel.ApplicationDim xlBook As Object 'Excel.WorkbookDim xlSheet As Object 'Excel.WorksheetScreen.MousePointer = vbHourglassOn Error GoTo Err_ProcSet xlApp = CreateObject("Excel.Application")Set xlBook = xlApp.Workbooks.AddSet xlSheet = xlBook.Worksheets(1)'Begin to fill data to sheetDim i As LongDim j As IntegerDim k As IntegerWith formname.Controls(flexgridname)For i = 0 To .rows - 1k = 0For j = 0 To .Cols - 1If .colwidth(j) > 20 Or .colwidth(j) < 0 Thenk = k + 1xlSheet.Cells(i + 1, k).Value = "'" & .TextMatrix(i, j)End IfNext jNext iEnd WithxlApp.Visible = TrueScreen.MousePointer = vbDefaultExit SubErr_Proc:Screen.MousePointer = vbDefaultMsgBox "请确认您的电脑已安装Excel!", vbExclamation,"提示"End Sub===================================Public Function ExporToExcel(strOpen As String)'*********************************************************'* 名称:ExporToExcel'* 功能:导出数据到EXCEL'* 用法:ExporToExcel(sql查询字符串)'*********************************************************Dim Rs_Data As New ADODB.RecordsetDim Irowcount As IntegerDim Icolcount As IntegerDim cn As New ADODB.ConnectionDim xlApp As New Excel.ApplicationDim xlBook As Excel.WorkbookDim xlSheet As Excel.WorksheetDim xlQuery As Excel.QueryTableWith Rs_DataIf .State = adStateOpen Then.CloseEnd If.ActiveConnection = "provider=msdasql;DRIVER=Microsoft Visual FoxPro Dri ver;UID=;Deleted=yes;Null=no;Collate=Machine;BackgroundFetch=no;Exclusive=No;SourceType=DBF; SourceDB=D:\DBF;".CursorLocation = adUseClient.CursorType = adOpenStatic.Source = strOpen.OpenEnd WithWith Rs_DataIf .RecordCount < 1 ThenMsgBox ("没有记录!")Exit FunctionEnd If'记录总数Irowcount = .RecordCount'字段总数Icolcount = .Fields.CountEnd WithSet xlApp = CreateObject("Excel.Application")Set xlBook = NothingSet xlSheet = NothingSet xlBook = xlApp.Workbooks().AddSet xlSheet = xlBook.Worksheets("sheet1")xlApp.Visible = True'添加查询语句,导入EXCEL数据Set xlQuery = xlSheet.QueryTables.Add(Rs_Data, xlSheet.Range("a1"))xlQuery.FieldNames = True '显示字段名xlQuery.RefreshxlApp.Application.Visible = TrueSet xlApp = Nothing '"交还控制给ExcelSet xlBook = NothingSet xlSheet = NothingEnd Function=============================='*********************************************************'* 名称:OutDataToExcel'* 功能:将MsFlexGrid控件中显示的内容输出到Excel表格中进行打印'*********************************************************Public Sub OutDataToExcel(Flex As MSFlexGrid) '导出至ExcelDim s As StringDim i As IntegerDim j As IntegerDim k As IntegerOn Error GoTo ErtMe.MousePointer = 11Dim Excelapp As Excel.ApplicationSet Excelapp = New Excel.ApplicationOn Error Resume NextDoEventsExcelapp.SheetsInNewWorkbook = 1Excelapp.Workbooks.AddExcelapp.ActiveSheet.Cells(1, 3) = sExcelapp.Range("C1").SelectExcelapp.Selection.Font.FontStyle = "Bold"Excelapp.Selection.Font.Size = 16With Flexk = .RowsFor i = 0 To k - 1For j = 0 To .Cols - 1DoEventsExcelapp.ActiveSheet.Cells(3 + i, j + 1) = "'" & .TextMatrix(i, j)Next jNext iEnd WithMe.MousePointer = 0Excelapp.Visible = TrueExcelapp.Sheets.PrintPreviewErt:If Not (Excelapp Is Nothing) ThenExcelapp.QuitEnd IfEnd Sub一个按钮,点击出现对话框(对话框控件已经有),在硬盘里面查找excel文件(当然,后缀名是xls了),找到目标excel文件后,该excel文件里面是一些数据,点击确定,就可以把excel里面的内容保存到MSFlexGrid控件里面了还有一个,按钮,点击后出现对话框,可以保存MSFlexGrid里面的东西到一个excel里面谢谢大家了用CommonDialog可以解决选定打开.xls文件问题然后就是读取进去哈哈保存代码如下'添加command控件一个MSFlexGrid控件一个Private Sub Command1_Click()On Error Resume NextDim fileadd As StringCommonDialog1.ShowOpenCommonDialog1.Filter = "xls文件(*.xls)|*.xls" '选择你要的文件fileadd = CommonDialog1.FileNameMSHFlexGrid1.Redraw = False '关闭表格重画,加快运行速度Set xlApp = CreateObject("Excel.Application") '创建EXCEL对象Set xlBook = xlApp.Workbooks.Open(fileadd) '打开已经存在的EXCEL工件簿文件xlApp.Visible = True '设置EXCEL对象可见(或不可见)Set xlsheet = xlBook.Worksheets("Sheet1") '设置活动工作表For R = 0 To MSHFlexGrid1.Rows - 1 '行循环For C = 0 To MSHFlexGrid1.Cols - 1 '列循环MSHFlexGrid1.Row = RMSHFlexGrid1.Col = CxlBook.Worksheets("Sheet1").Cells(R + 1, C + 1) = MSHFlexGrid1.Text '保存到EXCEL Next CNext RMSHFlexGrid1.Redraw = TruexlApp.DisplayAlerts = False '不进行安全提示'Set xlsheet = Nothing'Set xlBook = Nothing'xlApp.Quit'Set xlApp = Nothing。
用VB操作Excel(VB6.0)(整理)全面控制Excel:首先创建Excel对象,使用ComObj:Dim ExcelID as Excel.ApplicationSet ExcelID as new Excel.Application1)显示当前窗口:ExcelID.Visible:=True;2)更改Excel标题栏:ExcelID.Caption:='应用程序调用MicrosoftExcel';3)添加新工作簿:ExcelID.WorkBooks.Add;4)打开已存在的工作簿:ExcelID.WorkBooks.Open('C:\Excel\Demo.xls');5)设置第2个工作表为活动工作表:ExcelID.WorkSheets[2].Activate;或ExcelID.WorkSheets['Sheet2'].Activate;6)给单元格赋值:ExcelID.Cells[1,4].Value:='第一行第四列';7)设置指定列的宽度(单位:字符个数),以第一列为例:ExcelID.ActiveSheet.Columns[1].ColumnsWidth:=5;8)设置指定行的高度(单位:磅)(1磅=0.035厘米),以第二行为例:ExcelID.ActiveSheet.Rows[2].RowHeight:=1/0.035;//1厘米9)在第8行之前插入分页符:ExcelID.WorkSheets[1].Rows[8].PageBreak:=1;10)在第8列之前删除分页符:ExcelID.ActiveSheet.Columns[4].PageBreak:=0;11)指定边框线宽度:ExcelID.ActiveSheet.Range['B3:D4'].Borders[2].Weight:=3;1-左2-右3-顶4-底5-斜(\) 6-斜(/)12)清除第一行第四列单元格公式:ExcelID.ActiveSheet.Cells[1,4].ClearContents;13)设置第一行字体属性:ExcelID.ActiveSheet.Rows[1]:='隶书';ExcelID.ActiveSheet.Rows[1].Font.Color :=clBlue; ExcelID.ActiveSheet.Rows[1].Font.Bold :=True;ExcelID.ActiveSheet.Rows[1].Font.UnderLine:=True;14)进行页面设置:a.页眉:ExcelID.ActiveSheet.PageSetup.CenterHeader:='报表演示'; b.页脚:ExcelID.ActiveSheet.PageSetup.CenterFooter:='第&P页';c.页眉到顶端边距2cm:ExcelID.ActiveSheet.PageSetup.HeaderMargin:=2/0.035;d.页脚到底端边距3cm:ExcelID.ActiveSheet.PageSetup.HeaderMargin:=3/0.035;e.顶边距2cm:ExcelID.ActiveSheet.PageSetup.TopMargin:=2/0.035;f.底边距2cm:ExcelID.ActiveSheet.PageSetup.BottomMargin:=2/0.035;g.左边距2cm:ExcelID.ActiveSheet.PageSetup.LeftMargin:=2/0.035;h.右边距2cm:ExcelID.ActiveSheet.PageSetup.RightMargin:=2/0.035;i.页面水平居中:ExcelID.ActiveSheet.PageSetup.CenterHorizontally:=2/0.035; j.页面垂直居中:ExcelID.ActiveSheet.PageSetup.CenterVertically:=2/0.035; k.打印单元格网线:ExcelID.ActiveSheet.PageSetup.PrintGridLines:=True;15)拷贝操作:a.拷贝整个工作表:ed.Range.Copy;b.拷贝指定区域:ExcelID.ActiveSheet.Range['A1:E2'].Copy;c.从A1位置开始粘贴:ExcelID.ActiveSheet.Range.['A1'].PasteSpecial;d.从文件尾部开始粘贴:ExcelID.ActiveSheet.Range.PasteSpecial;16)插入一行或一列:a.ExcelID.ActiveSheet.Rows[2].Insert;b.ExcelID.ActiveSheet.Columns[1].Insert;17)删除一行或一列:a.ExcelID.ActiveSheet.Rows[2].Delete;b.ExcelID.ActiveSheet.Columns[1].Delete;18)打印预览工作表:ExcelID.ActiveSheet.PrintPreview;19)打印输出工作表:ExcelID.ActiveSheet.PrintOut;20)工作表保存:IfnotExcelID.ActiveWorkBook.SavedthenExcelID.ActiveSheet.PrintPreviewEndif21)工作表另存为:ExcelID.SaveAs('C:\Excel\Demo1.xls');22)放弃存盘:ExcelID.ActiveWorkBook.Saved:=True;23)关闭工作簿:ExcelID.WorkBooks.Close;24)退出Excel:ExcelID.Quit;25)设置工作表密码:ExcelID.ActiveSheet.Protect"123",DrawingObjects:=True,Contents:=True,Scenarios:=True 26)EXCEL的显示方式为最大化ExcelID.Application.WindowState=xlMaximized27)工作薄显示方式为最大化ExcelID.ActiveWindow.WindowState=xlMaximized28)设置打开默认工作薄数量ExcelID.SheetsInNewWorkbook=329)'关闭时是否提示保存(true保存;false不保存)ExcelID.DisplayAlerts=False30)设置拆分窗口,及固定行位置ExcelID.ActiveWindow.SplitRow=1ExcelID.ActiveWindow.FreezePanes=True31)设置打印时固定打印内容ExcelID.ActiveSheet.PageSetup.PrintTitleRows="$1:$1"32)设置打印标题ExcelID.ActiveSheet.PageSetup.PrintTitleColumns=""33)设置显示方式(分页方式显示)ExcelID.ActiveWindow.View=xlPageBreakPreview34)设置显示比例ExcelID.ActiveWindow.Zoom=10035)让Excel响应DDE请求Ex.Application.IgnoreRemoteRequests=False用VB操作EXCEL示例代码Private Sub Command3_Click()On Error GoTo err1Dim i As LongDim j As LongDim objExl As Excel.Application '声明对象变量Me.MousePointer=11 '改变鼠标样式Set objExl=New Excel.Application'初始化对象变量objExl.SheetsInNewWorkbook=1 '将新建的工作薄数量设为1objExl.Workbooks.Add'增加一个工作薄objExl.Sheets(objExl.Sheets.Count).Name="book1" '修改工作薄名称objExl.Sheets.Add,objExl.Sheets("book1")‘增加第二个工作薄在第一个之后objExl.Sheets(objExl.Sheets.Count).Name="book2"objExl.Sheets.Add,objExl.Sheets("book2")‘增加第三个工作薄在第二个之后objExl.Sheets(objExl.Sheets.Count).Name="book3"objExl.Sheets("book1").Select '选中工作薄<book1>For i=1 To 50'循环写入数据For j=1 To 5If i=1 ThenobjExl.Selection.NumberFormatLocal="@" '设置格式为文本objExl.Cells(i,j)="E"&i&jElseobjExl.Cells(i,j)=i&jEndIfNextNextobjExl.Rows("1:1").Select '选中第一行objExl.Selection.Font.Bold=True '设为粗体objExl.Selection.Font.Size=24 '设置字体大小objExl.Cells.EntireColumn.AutoFit '自动调整列宽objExl.ActiveWindow.SplitRow=1 '拆分第一行objExl.ActiveWindow.SplitColumn=0 '拆分列objExl.ActiveWindow.FreezePanes=True '固定拆分objExl.ActiveSheet.PageSetup.PrintTitleRows="$1:$1" '设置打印固定行objExl.ActiveSheet.PageSetup.PrintTitleColumns=""'打印标题objExl.ActiveSheet.PageSetup.RightFooter="打印时间:"&_Format(Now,"yyyy年mm月dd日hh:MM:ss")objExl.ActiveWindow.View=xlPageBreakPreview'设置显示方式objExl.ActiveWindow.Zoom=100 '设置显示大小'给工作表加密码objExl.ActiveSheet.Protect"123",DrawingObjects:=True, _ Contents:=True,Scenarios:=TrueobjExl.Application.IgnoreRemoteRequests=FalseobjExl.Visible=True '使EXCEL可见objExl.Application.WindowState=xlMaximized'EXCEL的显示方式为最大化objExl.ActiveWindow.WindowState=xlMaximized'工作薄显示方式为最大化objExl.SheetsInNewWorkbook=3 '将默认新工作薄数量改回3个Set objExl=Nothing'清除对象Me.MousePointer=0 '修改鼠标ExitSuberr1:objExl.SheetsInNewWorkbook=3objExl.DisplayAlerts=False '关闭时不提示保存objExl.Quit'关闭EXCELobjExl.DisplayAlerts=True '关闭时提示保存Set objExl=NothingMe.MousePointer=0End SubPrivate Sub Command3_Click()On Error GoTo err1Dim i As LongDim j As LongDim objExl As Excel.Application '声明对象变量Me.MousePointer = 11 '改变鼠标样式Set objExl = New Excel.Application '初始化对象变量objExl.SheetsInNewWorkbook = 1 '将新建的工作薄数量设为1objExl.Workbooks.Add '增加一个工作薄objExl.Sheets(objExl.Sheets.Count).Name = "book1" '修改工作薄名称objExl.Sheets.Add , objExl.Sheets("book1") '增加第二个工作薄在第一个之后 objExl.Sheets(objExl.Sheets.Count).Name = "book2"objExl.Sheets.Add , objExl.Sheets("book2") '增加第三个工作薄在第二个之后 objExl.Sheets(objExl.Sheets.Count).Name = "book3"objExl.Sheets("book1").Select '选中工作薄<book1>For i = 1 To 50 '循环写入数据For j = 1 To 5If i = 1 ThenobjExl.Selection.NumberFormatLocal = "@" '设置格式为文本objExl.Cells(i, j) = " E " & i & jElseobjExl.Cells(i, j) = i & jEnd IfNextNextobjExl.Rows("1:1").Select '选中第一行objExl.Selection.Font.Bold = True '设为粗体objExl.Selection.Font.Size = 24 '设置字体大小objExl.Cells.EntireColumn.AutoFit '自动调整列宽objExl.ActiveWindow.SplitRow = 1 '拆分第一行objExl.ActiveWindow.SplitColumn = 0 '拆分列objExl.ActiveWindow.FreezePanes = True '固定拆分objExl.ActiveSheet.PageSetup.PrintTitleRows = "$1:$1" '设置打印固定行objExl.ActiveSheet.PageSetup.PrintTitleColumns = "" '打印标题objExl.ActiveSheet.PageSetup.RightFooter = "打印时间: " & _Format(Now, "yyyy年mm月dd日 h h:MM:ss")objExl.ActiveWindow.View = xlPageBreakPreview '设置显示方式objExl.ActiveWindow.Zoom = 100 '设置显示大小'给工作表加密码objExl.ActiveSheet.Protect "123", DrawingObjects:=True, _Contents:=True, Scenarios:=TrueobjExl.Application.IgnoreRemoteRequests = FalseobjExl.Visible = True '使EXCEL可见objExl.Application.WindowState = xlMaximized 'EXCEL的显示方式为最大化 objExl.ActiveWindow.WindowState = xlMaximized '工作薄显示方式为最大化objExl.SheetsInNewWorkbook = 3 '将默认新工作薄数量改回3个 Set objExl = Nothing '清除对象Me.MousePointer = 0 '修改鼠标Exit Suberr1:objExl.SheetsInNewWorkbook = 3objExl.DisplayAlerts = False '关闭时不提示保存objExl.Quit '关闭EXCELobjExl.DisplayAlerts = True '关闭时提示保存Set objExl = NothingMe.MousePointer = 0End Sub=====================================全面控制 Excel首先创建 Excel 对象,使用ComObj:Dim ExcelID as Excel.ApplicationSet ExcelID as new Excel.Application1) 显示当前窗口:ExcelID.Visible := True;2) 更改 Excel 标题栏:ExcelID.Caption := '应用程序调用 Microsoft Excel';3) 添加新工作簿:ExcelID.WorkBooks.Add;4) 打开已存在的工作簿:ExcelID.WorkBooks.Open( 'C:\Excel\Demo.xls' );5) 设置第2个工作表为活动工作表:ExcelID.WorkSheets[2].Activate;或 ExcelID.WorkSheets[ 'Sheet2' ].Activate;6) 给单元格赋值:ExcelID.Cells[1,4].Value := '第一行第四列';7) 设置指定列的宽度(单位:字符个数),以第一列为例:ExcelID.ActiveSheet.Columns[1].ColumnsWidth := 5;8) 设置指定行的高度(单位:磅)(1磅=0.035厘米),以第二行为例:ExcelID.ActiveSheet.Rows[2].RowHeight := 1/0.035; // 1厘米9) 在第8行之前插入分页符:ExcelID.WorkSheets[1].Rows[8].PageBreak := 1;10) 在第8列之前删除分页符:ExcelID.ActiveSheet.Columns[4].PageBreak := 0;11) 指定边框线宽度:ExcelID.ActiveSheet.Range[ 'B3:D4' ].Borders[2].Weight := 3;1-左 2-右 3-顶 4-底 5-斜( \ ) 6-斜( / )12) 清除第一行第四列单元格公式:ExcelID.ActiveSheet.Cells[1,4].ClearContents;13) 设置第一行字体属性:ExcelID.ActiveSheet.Rows[1] := '隶书';ExcelID.ActiveSheet.Rows[1].Font.Color := clBlue;ExcelID.ActiveSheet.Rows[1].Font.Bold := True;ExcelID.ActiveSheet.Rows[1].Font.UnderLine := True;14) 进行页面设置:a.页眉:ExcelID.ActiveSheet.PageSetup.CenterHeader := '报表演示';b.页脚:ExcelID.ActiveSheet.PageSetup.CenterFooter := '第&P页';c.页眉到顶端边距2cm:ExcelID.ActiveSheet.PageSetup.HeaderMargin := 2/0.035;d.页脚到底端边距3cm:ExcelID.ActiveSheet.PageSetup.HeaderMargin := 3/0.035;e.顶边距2cm:ExcelID.ActiveSheet.PageSetup.TopMargin := 2/0.035;f.底边距2cm:ExcelID.ActiveSheet.PageSetup.BottomMargin := 2/0.035;g.左边距2cm:ExcelID.ActiveSheet.PageSetup.LeftMargin := 2/0.035;h.右边距2cm:ExcelID.ActiveSheet.PageSetup.RightMargin := 2/0.035;i.页面水平居中:ExcelID.ActiveSheet.PageSetup.CenterHorizontally := 2/0.035; j.页面垂直居中:ExcelID.ActiveSheet.PageSetup.CenterVertically := 2/0.035; k.打印单元格网线:ExcelID.ActiveSheet.PageSetup.PrintGridLines := True;15) 拷贝操作:a.拷贝整个工作表:ed.Range.Copy;b.拷贝指定区域:ExcelID.ActiveSheet.Range[ 'A1:E2' ].Copy;c.从A1位置开始粘贴:ExcelID.ActiveSheet.Range.[ 'A1' ].PasteSpecial;d.从文件尾部开始粘贴:ExcelID.ActiveSheet.Range.PasteSpecial;16) 插入一行或一列:a. ExcelID.ActiveSheet.Rows[2].Insert;b. ExcelID.ActiveSheet.Columns[1].Insert;17) 删除一行或一列:a. ExcelID.ActiveSheet.Rows[2].Delete;b. ExcelID.ActiveSheet.Columns[1].Delete;18) 打印预览工作表:ExcelID.ActiveSheet.PrintPreview;19) 打印输出工作表:ExcelID.ActiveSheet.PrintOut;20) 工作表保存:If not ExcelID.ActiveWorkBook.Saved thenExcelID.ActiveSheet.PrintPreviewEnd if21) 工作表另存为:ExcelID.SaveAs( 'C:\Excel\Demo1.xls' );22) 放弃存盘:ExcelID.ActiveWorkBook.Saved := True;23) 关闭工作簿:ExcelID.WorkBooks.Close;24) 退出 Excel:ExcelID.Quit;25) 设置工作表密码:ExcelID.ActiveSheet.Protect "123", DrawingObjects:=True, Contents:=True, Scena rios:=True26) EXCEL的显示方式为最大化ExcelID.Application.WindowState = xlMaximized27) 工作薄显示方式为最大化ExcelID.ActiveWindow.WindowState = xlMaximized28) 设置打开默认工作薄数量ExcelID.SheetsInNewWorkbook = 329) '关闭时是否提示保存(true 保存;false 不保存)ExcelID.DisplayAlerts = False30) 设置拆分窗口,及固定行位置ExcelID.ActiveWindow.SplitRow = 1ExcelID.ActiveWindow.FreezePanes = True31) 设置打印时固定打印内容ExcelID.ActiveSheet.PageSetup.PrintTitleRows = "$1:$1"32) 设置打印标题ExcelID.ActiveSheet.PageSetup.PrintTitleColumns = ""33) 设置显示方式(分页方式显示)ExcelID.ActiveWindow.View = xlPageBreakPreview34) 设置显示比例ExcelID.ActiveWindow.Zoom = 10035) 让Excel 响应 DDE 请求Ex.Application.IgnoreRemoteRequests = FalseVB程序操作Excel数据的代码示例一、 VB读写EXCEL表VB本身提自动化功能可以读写EXCEL表,其方法如下:①在工程中引用Microsoft Excel类型库从"工程"菜单中选择"引用"栏;选择Microsoft Excel 9.0 Object Library(EXCEL2000),然后选择"确定"。
VFP导出到Excel程序代码VFP 导出到Excel 程序代码首先, 我们新建一个表单, 命名为daochu.scx。
在表单上添加一个命令按钮, 并将其Caption 属性设置为“导出”。
运行该表单时, 单击导出, 用户可以选择需要导出的dbf 文件, 成功导出成Excel 文件并保存。
“导出”命令按钮的Click 事件的代码设置[2]为:cDbfFile = GETFILE("dbf")IF EMPTY(cDbfFile)RETURNENDIFUSE (cDbfFile) ALIAS FoxTable IN 0 && 打开所选则的表并定义别名为FoxTableIF NOT USED("FoxT able")=MESSAGEBOX("打开表失败, 程序将中止! ", 16, "Error")RETURNENDIFcExcelFile = PUTFILE("保存为(&N):",JUSTSTEM(cDbfFile)+". xls","xls") && 激活“另存为?”对话框, 设置默认保存文件名。
IF EMPTY(cExcelFile)CLOSE DATABASES ALLRETURNENDIFSELECT FoxTableoExcelSheet = GETOBJECT("","Excel.Sheet") && 产生Excel 对象IF NOT TYPE("oExcelSheet") = "O" && 如果oExcelsheet 不是对象型函数=MESSAGEBOX ("Excel 对象创建失败, 程序将中止! ",16," Error")RETURNENDIFoExcelApp = oExcelSheet.ApplicationoExcelApp.Workbooks.Add() && 添加新工作簿oExcelApp.ActiveWindow.WindowState=2oSheet = oExcelApp.ActiveSheetnFldCount = AFIELDS(aFldList, "FoxTable") &&把当前表的结构信息存放在一个数组中, 并且返回表的字段数。
往链点点通共享资源,了解更多请登录VB6.0 导出excel 方法源代码方法一:用Msflexgrid的Textmatrix属性取Msflexgrid中每一个单元格的内容,然后填到Excel表中,或者写成CSV格式方法二:直接把查询结果导出成Excel工作表Public Sub Export(formname As Form, flexgridname As String)Dim xlApp As Object 'Excel.ApplicationDim xlBook As Object 'Excel.WorkbookDim xlSheet As Object 'Excel.WorksheetScreen.MousePointer = vbHourglassOn Error GoTo Err_ProcSet xlApp = CreateObject("Excel.Application")Set xlBook = xlApp.Workbooks.AddSet xlSheet = xlBook.Worksheets(1)'Begin to fill data to sheetDim i As LongDim j As IntegerDim k As IntegerWith formname.Controls(flexgridname)For i = 0 To .rows - 1k = 0For j = 0 To .Cols - 1If .colwidth(j) > 20 Or .colwidth(j) < 0 Thenk = k + 1xlSheet.Cells(i + 1, k).Value = "'" & .TextMatrix(i, j)End IfNext jNext iEnd WithxlApp.Visible = TrueScreen.MousePointer = vbDefaultExit SubErr_Proc:Screen.MousePointer = vbDefaultMsgBox "请确认您的电脑已安装Excel!", vbExclamation,"提示"End Sub===================================Public Function ExporToExcel(strOpen As String)'*********************************************************'* 名称:ExporToExcel'* 功能:导出数据到EXCEL'* 用法:ExporToExcel(sql查询字符串)'*********************************************************Dim Rs_Data As New ADODB.RecordsetDim Irowcount As IntegerDim Icolcount As IntegerDim cn As New ADODB.ConnectionDim xlApp As New Excel.ApplicationDim xlBook As Excel.WorkbookDim xlSheet As Excel.WorksheetDim xlQuery As Excel.QueryTableWith Rs_DataIf .State = adStateOpen Then.CloseEnd If.ActiveConnection = "provider=msdasql;DRIVER=Microsoft Visual FoxPro Dri ver;UID=;Deleted=yes;Null=no;Collate=Machine;BackgroundFetch=no;Exclusive=No;SourceType=DBF; SourceDB=D:\DBF;".CursorLocation = adUseClient.CursorType = adOpenStatic.Source = strOpen.OpenEnd WithWith Rs_DataIf .RecordCount < 1 ThenMsgBox ("没有记录!")Exit FunctionEnd If'记录总数Irowcount = .RecordCount'字段总数Icolcount = .Fields.CountEnd WithSet xlApp = CreateObject("Excel.Application")Set xlBook = NothingSet xlSheet = NothingSet xlBook = xlApp.Workbooks().AddSet xlSheet = xlBook.Worksheets("sheet1")xlApp.Visible = True'添加查询语句,导入EXCEL数据Set xlQuery = xlSheet.QueryTables.Add(Rs_Data, xlSheet.Range("a1"))xlQuery.FieldNames = True '显示字段名xlQuery.RefreshxlApp.Application.Visible = TrueSet xlApp = Nothing '"交还控制给ExcelSet xlBook = NothingSet xlSheet = NothingEnd Function=============================='*********************************************************'* 名称:OutDataToExcel'* 功能:将MsFlexGrid控件中显示的内容输出到Excel表格中进行打印'*********************************************************Public Sub OutDataToExcel(Flex As MSFlexGrid) '导出至ExcelDim s As StringDim i As IntegerDim j As IntegerDim k As IntegerOn Error GoTo ErtMe.MousePointer = 11Dim Excelapp As Excel.ApplicationSet Excelapp = New Excel.ApplicationOn Error Resume NextDoEventsExcelapp.SheetsInNewWorkbook = 1Excelapp.Workbooks.AddExcelapp.ActiveSheet.Cells(1, 3) = sExcelapp.Range("C1").SelectExcelapp.Selection.Font.FontStyle = "Bold"Excelapp.Selection.Font.Size = 16With Flexk = .RowsFor i = 0 To k - 1For j = 0 To .Cols - 1DoEventsExcelapp.ActiveSheet.Cells(3 + i, j + 1) = "'" & .TextMatrix(i, j)Next jNext iEnd WithMe.MousePointer = 0Excelapp.Visible = TrueExcelapp.Sheets.PrintPreviewErt:If Not (Excelapp Is Nothing) ThenExcelapp.QuitEnd IfEnd Sub一个按钮,点击出现对话框(对话框控件已经有),在硬盘里面查找excel文件(当然,后缀名是xls了),找到目标excel文件后,该excel文件里面是一些数据,点击确定,就可以把excel里面的内容保存到MSFlexGrid控件里面了还有一个,按钮,点击后出现对话框,可以保存MSFlexGrid里面的东西到一个excel里面谢谢大家了用CommonDialog可以解决选定打开.xls文件问题然后就是读取进去哈哈保存代码如下'添加command控件一个MSFlexGrid控件一个Private Sub Command1_Click()On Error Resume NextDim fileadd As StringCommonDialog1.ShowOpenCommonDialog1.Filter = "xls文件(*.xls)|*.xls" '选择你要的文件fileadd = CommonDialog1.FileNameMSHFlexGrid1.Redraw = False '关闭表格重画,加快运行速度Set xlApp = CreateObject("Excel.Application") '创建EXCEL对象Set xlBook = xlApp.Workbooks.Open(fileadd) '打开已经存在的EXCEL工件簿文件xlApp.Visible = True '设置EXCEL对象可见(或不可见)Set xlsheet = xlBook.Worksheets("Sheet1") '设置活动工作表For R = 0 To MSHFlexGrid1.Rows - 1 '行循环For C = 0 To MSHFlexGrid1.Cols - 1 '列循环MSHFlexGrid1.Row = RMSHFlexGrid1.Col = CxlBook.Worksheets("Sheet1").Cells(R + 1, C + 1) = MSHFlexGrid1.Text '保存到EXCEL Next CNext RMSHFlexGrid1.Redraw = TruexlApp.DisplayAlerts = False '不进行安全提示'Set xlsheet = Nothing'Set xlBook = Nothing'xlApp.Quit'Set xlApp = Nothing。