VB将数据导出到EXCEL
vb 从数据库和gridview导出数据到excel
'从数据集里导出数据Dim sql As Stringsql = "SELECT FIRST 20 * FROM student"claimset = sqlfun.Dataset(sql)Dim xlApp As New Excel.Application()Dim xlBook As Excel.WorkbookDim xlSheet As Excel.WorksheetDim rowIndex, colIndex As IntegerrowIndex = 1colIndex = 0xlBook = xlApp.Workbooks().AddxlSheet = CType(xlBook.Worksheets("sheet1"), Excel.Worksheet)Dim Table As New DataSet()Table = claimset'将所得到的表的列名,赋值给单元格Dim Col As DataColumnDim Row As DataRowFor Each Col In claimset.Tables(0).ColumnscolIndex = colIndex + 1xlApp.Cells(1, colIndex) = Col.ColumnNameNext'得到的表所有行,赋值给单元格For Each Row In claimset.Tables(0).RowsrowIndex = rowIndex + 1colIndex = 0For Each Col In claimset.Tables(0).ColumnscolIndex = colIndex + 1xlApp.Cells(rowIndex, colIndex) = Row(Col.ColumnName)NextNext'从gridview导出数据Response.ClearContent()Response.Buffer = TrueResponse.Charset = "GB2312"Response.AddHeader("content-disposition", "attachment; filename=MyExcelFile.xls") Response.ContentType = "application/excel"Dim sw As New StringWriter()Dim htw As New HtmlTextWriter(sw)GridView1.RenderControl(htw)Response.Write(sw.ToString())Response.End()Public Overrides Sub VerifyRenderingInServerForm(ByVal control As Control) '处理'GridView' 必需置于有 runat=server 的表单标记之中End Sub。
vb用数组方式快速导出MSFlexGrid表格数据到Excel表格中
本来从MSFlexGrid或MSHFlexGrid导出数据到Excel中,是一个非常简单的问题,但论坛里还是经常有人问如何导出,有的虽然知道用单元格赋值方式循环导出,但速度太慢,因此写了一个通用的数据导出函数,由于以数组方式一次性赋值,运度速度得到了极大提升,需要的朋友可以参照以下代码,稍作修改,就可以写出用于其它表格控件向Excel导出数据的功能了。
Next
Next
'导出到Excel中
If StartRow < 1 Then StartRow = 1
If StartColumn < 1 Then StartColumn = 1
Set objApp = CreateObject("Excel.Application")
objApp.ScreenUpdating = False '禁止屏幕刷新
End Sub
Dim objApp As Object
Dim objWorkbook As Object
Dim objWorksheet As Object
Dim objRange As Object
Dim CellsData() As String
Dim i As Long, j As Long
Dim nRows As Long, nColumns As Long
代码如下:
Public Sub ExportToExcel(ByRef objGrid As MSHFlexGrid, ByVal strFileName As String, Optional StartRow As Long = 1, Optional StartColumn As Long = 1)
VB导出Excel(导入指定格式的Excel文档中)
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 进行操作。
从VB数据到EXCELEXCEL文件怎改变
VB中的数据输出到EXCEL中,如何改变EXCEL的文件名!我将VB中的数据输出到EXCEL中去,如何改变EXCEL的文件名,哪个语句是定义EXCEL文件名的语句呢?FileName:= (这里写路径+文件名称。
xls), FileFormat:=xlNormal, Password:="", writerespassword:="", ReadOnlyRecommended:=False, CreateBackup:=False在VB中要想调用Excel,需要打开VB编程环境“工程”菜单中的“引用”项目,并选取项目中的“Microsoft Excel object library”项。
由于你的Excel版本不同,所以这个选项的版本号也是不同的。
因为EXCEL是以层次结构组织对象的,其对象模型中含有许多不同的对象元素。
第一层:Application对象,即Excel本身;第二层:workbooks对象集,指Excel的工作簿文件;第三层:worksheets对象集,表示的是Excel的一个工作表;第四层:Cells和Range对象,指向Excel工作表中的单元格。
新建立一个VB的工程,先放一个button,名称为Excel_Out。
先定义好各层:Dim xlapp As 'Excel对象Dim xlbook As '工作簿Dim xlsheet As '工作表我们打算做的是:打开/新建一个excel,在其中对某工作表的一些单元格修改其值,然后另存为文件。
Private Sub Excel_Out_Click()Dim i, j As IntegerSet xlapp = CreateObject("") '创建EXCEL对象'Set xlbook = & "\") '打开已经存在的工件簿文件Set xlbook = '新建EXCEL工件簿文件' (xlAutoOpen) '运行EXCEL启动宏' (xlAutoClose) '运行EXCEL关闭宏= True '设置EXCEL对象可见(或不可见)Set xlsheet = (1) '设置活动工作表''''~~~当前工作簿的第一页,这里也可以换成“表名”'下面就是简单的在一些单元格内写入数字For i = 7 To 15For j = 1 To 10(i, j) = j '当前工作簿第一页的第I行第J列Next iWith xlsheet '设置边框为是实线.Range(.Cells(7, 1), .Cells(28, 29)). = xlContinuousEnd With'引用当前工作簿的第二页Set xlsheet = (7, 2) = 2008 '在第二页的第7行第2列写入2008& "\" '按指定文件名存盘'Set xlbook = '新建一空白工作簿'结束EXCEL对象' Set xlapp = Nothing '释放xlApp对象End Sub这样,我们就可以简单的对excel文件进行操作了。
VB数据库编程——批量导出数据到Excel
摘 要 :t csC ; 为例 , 绍 了通 过V rAcesKl :  ̄库 介 B的 D t be t . Lbay ̄ E c l1. bet irr库 结合 二 维数 组 aaO jc 20 irr x e 1 O jc Lbay 0
实现 了高效批 量导 出数 据 到E c l x e实例 。
D m E clie ) 二维 数组 , 于暂 存所 导数据 的字段 名 i x e t ( Tl 用 Di t Q sSr g m s S LA tn r i Di c nA D BC n et n m Myo sA OD .o n ci 创 建数据 库连 接通道 o Di R sA OD .eode 创 建数 据集 m My sA D BR crst
的 目的 。
3 主要 窗 体 布 置及 算 法 描 述
新建工程pOt C rO t 模块po 、 巧u 、 ̄zf u、 gm e 两个命令按钮 m
c d u和 c E i m O t md x 。 t
4 主 要程 序 代 码
D m My aa ) i D t( 二维数 组 , 于暂存 所导 数据记 录 用
个关键 过 程和数 组 . 功能 如下 :
( ) xc tS (过程 。用 于连 接数 据库及 对表 操作 。 1E eueQL )
( ) aa o r y ) 2 D t A r ( 过程 。 T a 该过 程用于 把所 导数据 的字段名 和 数据分别 暂存在两个 动态二 维数组E clie ) xeTt (和My aa ) 。 l d t( 里 ( ) xeTt ( 动态二 维数 组 。暂 存所 导数 据的字 段名 。 3 E clie ) l
通过V B的Ac vxD t be t . Lbay 连 接 A cs数 t e aaO jc 0 irr库 i 2 ces 据库 , 取 字段 和 记 录并 分别 暂 存在 两 个二 维数 组 中 , 通过 读 再
VBA的文件导入导出技巧
VBA的文件导入导出技巧VBA(Visual Basic for Applications)是一种用于Microsoft Office应用程序的编程语言,它可以帮助我们更高效地处理数据和自动化各种操作。
在Excel等应用程序中,VBA的文件导入导出技巧可以帮助我们快速读取和保存数据,提高工作效率。
在本文中,我们将介绍一些常用的VBA文件导入导出技巧,帮助您更好地运用VBA处理数据。
1. 文件导入文件导入是指将外部文件中的数据导入到Excel中。
在VBA中,我们可以使用Workbooks.Open方法打开外部文件,并使用Workbooks对象的OpenText方法或QueryTables方法将数据导入到Excel工作簿中。
例如,我们可以使用以下代码将一个文本文件导入到Excel中:```vbaSub ImportTextFile()Dim FilePath As StringDim wb As WorkbookFilePath = "C:\Data\TextFile.txt"Set wb = Workbooks.Open(FilePath)' 使用OpenText方法导入数据With wb.Sheets(1).QueryTables.Add(Connection:="TEXT;" & FilePath, _Destination:=wb.Sheets(1).Range("A1")).TextFileStartRow = 1.TextFileParseType = xlDelimited.TextFileCommaDelimiter = True.RefreshEnd With' 关闭外部文件wb.Close FalseSet wb = NothingEnd Sub```上述代码首先使用Workbooks.Open方法打开文本文件,然后使用QueryTables.Add方法将文本文件数据导入到Excel的第一个工作表中,最后关闭外部文件。
用 VB 导入Ecel 中的数据
用VB 导入Excel 中的数据,或将VB中算出的数据导入Excel (附图)
作者:朱(晴)琴
当我用VB画了图放在毕业论文中,要求把数据导出到Excel 中,用Excel 画图,说这样图比较清晰。
首先,在VB中不能直接与Excel 联系。
点“工程”、“引用”
选中“Microsoft Excel 12.0 Object Library” 项选中后点“确定”
完成这个工作后,就可以写代码,导入Excel中的数据,或导出数据到Excel。
在窗体代码窗口,定义
(1)将Excel中的数据导入到VB的数组中
1、点“工程”、“部件”,选中
在窗体上画一个CommonDialog
2、建立一个打开Excel表的响应事件,简单点可以建一个命令按钮响应事件。
3、定义
然后写一个For 循环,把Excel 里的数导入VB,在导入前当然需要定义一个数组,来存放导入的数据。
xlsheet.cells (i , j ),里面i 表示第i 行,j 表示第j 列
例如:要导入数据的Excel表中的数据如下
则需要定义一个数组,如Data(1 to 15,1 to 2)
For j = 1 to 2
For i=1 to 15
Data(i,j)=xlsheet.cells(i,j)
next i
next j
将Excel 中的数据赋给数组后,需要将Excel 关闭,关闭代码如下
(2)将VB 数组中的数据导出到Excel 中保存
除了For 循环处稍修改下,其余同前面一样。
将数组中的数据赋给Excel 后,需要将Excel 关闭,关闭代码如下。
关于vb如何从MSFlexGrid空间中把内容导入excel的方法
以下代码写在模块中:'MSHFlexGrid控件导出到ExcelPublic Function ExportFlexDataToExcel(flex As MSFlexGrid, g_CommonDialog As CommonDia log)On Error GoTo ErrHandlerDim xlApp As ObjectDim xlBook As ObjectDim Rows As Integer, Cols As IntegerDim iRow As Integer, hCol As Integer, iCol As IntegerDim New_Col As BooleanDim New_Column As Booleang_CommonDialog.CancelError = TrueOn Error GoTo ErrHandler' 设置标志g_CommonDialog.Flags = cdlOFNHideReadOnly' 设置过滤器g_CommonDialog.Filter = "All Files (*.*)|*.*|Excel Files" & _"(*.xls)|*.xls|Batch Files (*.bat)|*.bat"' 指定缺省的过滤器g_CommonDialog.FilterIndex = 2' 显示“打开”对话框g_CommonDialog.ShowSaveIf flex.Rows <= 1 ThenMsgBox "没有数据!", vbInformation, g_MsgtitleExit FunctionEnd IfSet xlApp = CreateObject("Excel.Application")Set xlBook = xlApp.Workbooks.AddxlApp.Visible = FalseWith flexRows = .RowsCols = .ColsiRow = 0iCol = 1For hCol = 0 To Cols - 1For iRow = 1 To RowsxlApp.Cells(iRow, iCol).Value = .TextMatrix(iRow - 1, hCol)Next iRowiCol = iCol + 1Next hColEnd WithWith xlApp.Rows(1).Font.Bold = True.Cells.Select.Columns.AutoFit.Cells(1, 1).Select' .Application.Visible = TrueEnd WithxlBook.SaveAs (g_CommonDialog.FileName)xlApp.Application.Visible = FalsexlApp.DisplayAlerts = FalsexlApp.QuitSet xlApp = Nothing '"交还控制给ExcelSet xlBook = Nothingflex.SetFocusMsgBox "数据已经导出到Excel中。
VB数据导出EXCEL
如何在VB中实现输出到Excel
如何在VB中实现输出到Excelvisual basic 2009-12-04 12:38:22 阅读61 评论0字号:大中小订阅首先要在工程中添加引用“Microsoft Excel 9.0 Object Library”我们使用三个对象Excel.ApplicationExcel.WorkBookExcel.WorkSheet然后我们的目标是:能新建一个Excel文件。
讲某些行列进行合并,设置列宽,填入一个数据,将这个Excel 保存。
Public Sub'定义对象Dim xlApp As Excel.ApplicationDim xlBook As Excel.WorkbookDim xlSheet1 As Excel.WorksheetDim xlSheet2 As Excel.WorksheetSet xlApp = CreateObject("Excel.Application")Set xlBook = xlApp.Workbooks.AddSet xlSheet1 = xlBook.Worksheets("sheet1")Set xlSheet2 = xlBook.Worksheets("sheet2")'参数是下标!!!一定是按照Sheet1,Sheet2,Sheet3这样的顺序来的。
= "值班表" '修改工作簿的名称,就是将显示的名称换掉 = "呼拉拉" '同上xlSheet1.PageSetup.Orientation = xlLandscape '打印设置-- 设置为横向xlSheet1.PageSetup.TopMargin = 20 '一下四部分为设置Excel的显示格式xlSheet1.PageSetup.BottomMargin = 20xlSheet1.PageSetup.LeftMargin = 8xlSheet1.PageSetup.RightMargin = 8xlApp.Visible = True 'Excel文件是不是显示With xlSheet1.Columns.item(1).ColumnWidth() = 2 '列宽大小.Range(.Cells(1, 1), .Cells(3, 1)).Merge '合并.Cells(1, 1).Value = "123" '填入数据End WithxlApp.Visible = False '这样写,Excel的操作就不显示了。
VBA中的数据导入导出技巧
VBA中的数据导入导出技巧VBA(Visual Basic for Applications)是一种用于Microsoft Office系列应用程序自动化的编程语言。
在Excel中,VBA可以帮助用户实现各种自定义的数据导入导出操作,提高数据处理的效率和准确性。
本文将介绍一些VBA中的数据导入导出技巧,帮助您更好地处理Excel中的数据。
1. 数据导入技巧在VBA中,数据导入是指将外部数据源中的数据导入到Excel工作簿中。
以下是几种常用的数据导入技巧:1.1. 从文本文件导入数据通过VBA,您可以将文本文件中的数据导入到Excel中。
首先,您需要使用VBA的Open语句打开文本文件,然后使用VBA的Input语句将数据逐行读取到Excel工作表中。
您还可以使用Split函数将每行的数据拆分成多个单元格。
最后,使用VBA的Close语句关闭文本文件。
1.2. 从数据库导入数据VBA还可以连接到数据库,如Access、SQL Server等,将其中的数据导入到Excel中。
您可以使用VBA的ADODB对象创建数据库连接,执行SQL查询语句,将查询结果导入到Excel工作表中。
这样,您可以轻松地获取和分析数据库中的数据。
1.3. 从Web页面导入数据使用VBA,您可以模拟浏览器的操作,自动打开Web页面并将其中的数据导入到Excel中。
您可以使用VBA的IE对象创建浏览器实例,使用该实例打开Web页面,并使用VBA的getElementsByTag等方法查找和读取Web页面中的数据。
然后,您可以将这些数据导入到Excel工作表中进行进一步处理和分析。
2. 数据导出技巧除了将外部数据导入到Excel中,VBA还可以帮助您将Excel中的数据导出到其他文件格式,以满足特定的需求。
以下是几种常用的数据导出技巧:2.1. 导出为文本文件使用VBA,您可以将Excel中的数据导出为纯文本文件。
您可以使用VBA的Open语句创建文本文件,使用VBA的Write语句将数据逐行写入文本文件,并使用VBA的Close语句关闭文本文件。
VBA 中的数据导入和导出方法
VBA 中的数据导入和导出方法在VBA(Visual Basic for Applications)中,数据的导入和导出是一项常见的任务。
无论是从外部源导入数据到Excel,还是从Excel导出数据到其他应用程序或文件,掌握VBA中的数据导入和导出方法对于处理大量数据和自动化任务非常重要。
本文将介绍一些常用的VBA数据导入和导出方法,以帮助您更高效地处理数据。
一、数据导入方法1. 从文本文件导入数据在VBA中,您可以使用Open语句打开一个文本文件,并使用Input函数从文本文件中逐行读取数据。
例如,以下代码将从名为“data.txt”的文本文件中导入数据到Excel表格中:```Dim FilePath As StringDim FileContent As StringDim TextFile As Integer' 输入文件路径FilePath = "C:\data.txt"' 打开文本文件TextFile = FreeFileOpen FilePath For Input As TextFile' 逐行读取文本文件内容Do While Not EOF(TextFile)Line Input #TextFile, FileContent' 在Excel中处理FileContentLoop' 关闭文本文件Close TextFile```2. 从数据库导入数据在VBA中,您可以使用ADODB对象连接到数据库,并使用SQL 查询语言从数据库中获取数据。
以下是一个示例:```Dim Conn As ADODB.ConnectionDim Recordset As ADODB.RecordsetDim SQLQuery As String' 创建数据库连接Set Conn = New ADODB.ConnectionConn.ConnectionString = "Provider=SQLOLEDB;Data Source=myServerAddress;Initial Catalog=myDatabase;User ID=myUsername;Password=myPassword"Conn.Open' 创建记录集并执行SQL查询Set Recordset = New ADODB.RecordsetSQLQuery = "SELECT * FROM myTable"Recordset.Open SQLQuery, Conn' 读取数据Do Until Recordset.EOF' 在Excel中处理数据Recordset.MoveNextLoop' 关闭记录集和数据库连接Recordset.CloseConn.Close```二、数据导出方法1. 导出数据到文本文件在VBA中,您可以使用Open语句创建或打开一个文本文件,并使用Print语句将数据写入文本文件。
VB程序导出数据到Excel
VB程序导出数据到Excelvb导出数据到ExcelPublic Function ExporToExcel(strOpen As String,cn As ADODB.Connection) '入参为SQL查询语句,cn为当前活动的连接'*********************************************************'* 名称:ExporToExcel'* 功能:导出数据到EXCEL'* 用法:ExporToExcel(sql查询字符串)'*********************************************************Dim Rs_Data As New ADODB.RecordsetDim Irowcount As IntegerDim Icolcount As IntegerDim FILENAME As StringDim xlApp As New Excel.ApplicationDim xlBook As Excel.WorkbookDim xlSheet As Excel.WorksheetDim xlQuery As Excel.QueryT ableWith Rs_DataIf .State = adStateOpen Then.CloseEnd If.ActiveConnection = Cn.CursorLocation = adUseClient.CursorType = adOpenStatic.LockType = adLockReadOnly.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 = False 'Excel在后台运行'添加查询语句,导入EXCEL数据Set xlQuery = xlSheet.QueryT ables.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 = TrueEnd WithxlQuery.FieldNames = True '显示字段名xlQuery.RefreshWith xlSheet' .Range(.Cells(1, 1), .Cells(1, Icolcount))/doc/448509670.html, = "黑体"'设标题为黑体字.Range(.Cells(1, 1), .Cells(1, Icolcount)).Font.Bold = True'标题字体加粗.Range(.Cells(1, 1), .Cells(Irowcount + 1, Icolcount)).Borders.LineStyle = xlContinuous'设表格边框样式End WithWith xlSheet.PageSetup' .LeftHeader = "" & Chr(10) & "&""楷体_GB2312,常规""&10公司名称:" ' & Gsmc ' .LeftHeader = "" & Chr(10) & "&""楷体_GB2312,常规""&10统计时间:".CenterHeader = "&""楷体_GB2312,常规""库存明细&""宋体"' .RightHeader = "" & Chr(10) & "&""楷体_GB2312,常规""&10单位:"' .LeftFooter = "&""楷体_GB2312,常规""&10制表人:" & Ygxm.CenterFooter = "&""楷体_GB2312,常规""&10制表日期:" & Date.RightFooter = "&""楷体_GB2312,常规""&10第&P页共&N页"End WithFILENAME = App.Path & "\" & Date & ".Xls"xlBook.SaveAs (FILENAME) '保存文件xlApp.QuitSet xlApp = Nothing' xlApp.Application.Visible = True' Set xlApp = Nothing '"交还控制给Excel ' Set xlBook = Nothing' Set xlSheet = NothingEnd Function。
vb导出到excel的方法
vb导出到excel的方法vb导出到excel的方法//导出Private Sub Command5_Click()If Adodc2.Recordset.RecordCount = 0 ThenMsgBox "没有数据可导出!", vbExclamation, "导出"ElseMsgBox "将把数据导出到EXCLE里,请稍等.......", vbExclamation, "导出"Screen.MousePointer = vbHourglassDim i As IntegerDim j As IntegerDim xlApp As Excel.ApplicationDim xlBook As Excel.WorkbookDim xlSheet As Excel.WorksheetSet xlApp = New Excel.ApplicationSet xlBook = xlApp.Workbooks.addSet xlSheet = xlBook.Worksheets(1)' xlSheet.Cells.Columns. '.AutoFitScreen.MousePointer = 11With xlSheet'EXCLE第一列的宽度.Columns(1).ColumnWidth = 9.15.Columns(2).ColumnWidth = 14.13.Columns(3).ColumnWidth = 14.63.Columns(4).ColumnWidth = 6.5.Columns(5).ColumnWidth = 12.5'字体边框居中.Cells.Font.Size = 9.Cells(1, 1).Borders.LineStyle = 1 '边框.Cells(1, 2).Borders.LineStyle = 1.Cells(1, 3).Borders.LineStyle = 1.Cells(1, 4).Borders.LineStyle = 1.Cells(1, 5).Borders.LineStyle = 1.Cells.HorizontalAlignment = xlCenter.Cells.WrapText = True '自动换行.Cells.EntireColumn.AutoFit '行高根据内容自动调整.Cells.EntireRow.AutoFit'文件名称.name = CStr(Date) '时间为名称'标题列名称.Cells(1, 1) = "t1".Cells(1, 2) = "t2".Cells(1, 3) = "t3".Cells(1, 4) = "t4".Cells(1, 5) = "t5"End WithFor i = 1 To VSFlexGrid5.Rows - 1 '遍历VSFlexGrid5的所有行数For j = 1 To VSFlexGrid5.Cols - 1 '遍历VSFlexGrid5所有的列数str = Trim(VSFlexGrid5.TextMatrix(i, j))'去掉空格回车符str = Replace(str, vbCr, "")str = Replace(str, vbLf, "")xlSheet.Cells(i + 1, j) = Trim(str)'加边框xlSheet.Cells(i + 1, j).Borders.LineStyle = 1'内容靠底部' xlSheet.Range(xlSheet.Cells(i + 1, j), xlSheet.Cells(i + 1, j)).VerticalAlignment = 3' xlSheet.Range(xlSheet.Cells(i + 1, j), xlSheet.Cells(i + 1, j)).HorizontalAlignment = 3NextNextScreen.MousePointer = 0MsgBox "数据已经成功导出!", vbExclamation, "导出"xlApp.Visible = TrueSet xlApp = Nothing 'Excel 处于当前窗体Set xlBook = NothingSet xlSheet = NothingEnd IfEnd Sub。
VB中的MSflexgrid控件多行数据导出excel
如何在VB中导出为excel
在我遇到这个问题的时候,我就开始发难了,这个到底怎么做到呢!我就想起了在VB百例中添加了OLE中,对excel文档和word等的修改,我想是不是可以用上呢?于是我就去找VB百例中相关的内容,可是当我找到的时候很是让我失望,看来是我想多了!于是我就是百度,可是当面对那么多的内容我就开始犯难了,到底哪个才是正确的,于是我就开始一个一个看,找我需要的内容,当我觉得有一点头绪的时候,又一个问题开始了,我从VB的菜单栏引用上根本就找不到”Microsoft excel 15.0 object library”,我就从网上查,看到底是在计算机的什么位置,后来在贾文静的帮助下我终于发现了找到我需要引用的控件,现在我来讲讲导出excel的过程!
一:引用Microsoft excel 15.0 object library
看一下定位的位置,点击浏览---找C盘中的program files,然后在按照图上的路径找到咱们需要引用的excel
二:在模块中相关excel代码
三:在需要导出excel的窗体下的click事件下输入一下代码Call exportflexdatatoexcel (myflexgrid1)。
将数据从VisualBasic传输到Excel的方法
将数据从VisualBasic传输到Excel的方法INFO:将数据从 Visual Basic 传输到 Excel 的方法适用于概要本文介绍将数据从 Microsoft Visual Basic 应用程序传输到 Microsoft Excel 的多种方法。
本文还介绍了每种方法的优缺点,这样您可以选择最适合您的解决方案。
更多信息将数据传输到 Excel 工作簿最常用的方法是“自动化”功能。
“自动化”功能为您提供了指定数据在工作簿中所处位置的最大的灵活性,以及对工作簿进行格式设置和在运行时进行各种设置的功能。
利用“自动化”功能,您可以使用多种方法传输数据:逐单元格传输数据将数组中的数据传输到单元格区域使用 CopyFromRecordset 方法向单元格区域传输 ADO 记录集中的数据在 Excel 工作表上创建一个 QueryTable,它包含对 ODBC 或 OLEDB 数据源进行查询的结果。
将数据传输到剪贴板,然后将剪贴板内容粘贴到 Excel 工作表中。
您还可以使用一些其他方法将数据传输到 Excel,而不必使用“自动化”功能。
如果您正在运行服务器端应用程序,这是一种将批量数据处理从客户端移走的好方法。
在没有“自动化”功能的情况下,可以使用下列方法来传输数据:将数据传输到制表符分隔或逗号分隔的文本文件,然后 Excel 可以将该文本文件分析为工作表上的单元格使用 ADO 将数据传输到工作表使用动态数据交换 (DDE) 将数据传输到 Excel下面的部分提供了每种解决方案的详细信息。
使用“自动化”功能逐单元格传输数据利用“自动化”功能,您可以逐单元格地向工作表传输数据:Dim oExcel As ObjectDim oBook As ObjectDim oSheet As Object'Start a new workbook in ExcelSet oExcel = CreateObject("Excel.Application")Set oBook = oExcel.Workbooks.Add'Add data to cells of the first worksheet in the new workbookSet oSheet = oBook.Worksheets(1)oSheet.Range("A1").Value = "Last Name"oSheet.Range("B1").Value = "First Name"oSheet.Range("A1:B1").Font.Bold = TrueoSheet.Range("A2").Value = "Doe"oSheet.Range("B2").Value = "John"'Save the Workbook and Quit ExceloBook.SaveAs "C:\Book1.xls"oExcel.Quit如果数据量较少,逐单元格传输数据是一种完全可以接受的方法。
【转】Vb.net史上最快的数据导入到EXCEL程序
【转】史上最快的数据导入到EXCEL程序最近一直为从程序中导入数据到EXCEL速度太慢而苦恼(从程序中提取的数据量有几万行),因此到处查找一些最快的方法,甚至请教朋友手下的工程师也无果。
从网上搜索的一些资料也大同小异。
后来在车上时突然灵光一闪,把其中一种方法改一下形式可不可以达到呢?回家迫不及待地一试,没想到成功了。
本着乐于分享的精神,拿出来在这里供大家参考一下,如果有用得着别忘了留言给我哦!目前,从程序中导入EXCEL有三种通用方法(据我所知的~),按快到慢的顺序如下:1..数据导入dataset的表中,然后FOR循环表的行与列,并将值写入EXCEL的CELL中(最慢)2。
数据导入dataset的表中,然后FOR循环表的行与列,并将值写入数组DataArray(,),然后利用MyExcel.Range("A2").resize(m,n).value=DataArray (较快)3..最近一直为从程序中导入数据到EXCEL速度太慢而苦恼(从程序中提取的数据量有几万行),因此到处查找一些最快的方法,甚至请教朋友手下的工程师也无果。
从网上搜索的一些资料也大同小异。
后来在车上时突然灵光一闪,把其中一种方法改一下形式可不可以达到呢?回家迫不及待地一试,没想到成功了。
本着乐于分享的精神,拿出来在这里供大家参考一下,如果有用得着别忘了留言给我哦1目前,从程序中导入EXCEL有三种通用方法(据我所知的~),按快到慢的顺序如下:1..数据导入dataset的表中,然后FOR循环表的行与列,并将值写入EXCEL的CELL中(最慢)2。
数据导入dataset的表中,然后FOR循环表的行与列,并将值写入数组DataArray(,),然后利用MyExcel.Range("A2").resize(m,n).value=DataArray (较快,但数据一大特慢)3..数据导入dataset的表中,然后FOR循环表的行与列,并将值写入数组DataArray(,),然后将数组发送给剪贴板System.Windows.Forms.Clipboard.SetDataObject(DataArray),然后在EXCEL对象中MyExcel.Range("A1").Select() -----MyExcel.Paste即可(较快,但数据一大特慢)在发现这几种方法不如意后我一直在思考这个问题。
vb将数据导出到excel[整理版]
'************************************************************************* '**'** VB将数据导出到EXCEL,没有安装EXCEL的一样也可以导出.'**'** 调用方式: s_Export2Excel(Ado.Recordset) 或s_Export2Excel(Rds.RecordSet) '** 支持Rds 与Ado 的记录导出'**'*************************************************************************'得到所有数据类型,有些数据类型EXCEL不支持,已经替换掉Public Function f_FieldType$(ByV al sType&)Dim iRe$Select Case sTypeCase 2, 3, 20iRe = "int "Case 5iRe = "float "Case 6iRe = "money "Case 131iRe = "numeric "Case 4iRe = "real "Case 128iRe = "binary "Case 204iRe = "varbinary "Case 11iRe = "bit "Case 129, 130iRe = "char "Case 17, 72, 131, 200, 202, 204iRe = "varchar "Case 201, 203iRe = "text "Case 7, 135iRe = "datetime "Case 205iRe = "image "Case 128iRe = "timestamp "End Selectf_FieldType = iReEnd Function'导出ADO记录集到EXCELPublic Function f_Export2Excel(ByV al sRecordSet As ADODB.Recordset, ByV al sExcelFileName$ _, Optional ByV al sTableName$, Optional ByV al sOverExist As Boolean = False) As Boolean'On Error GoTo lbErrDim iConcStr, iSql$, iFdlist$, iDB As ADODB.ConnectionDim iI&, iFdType$, j, TmpField, FileNameDim iRe As Boolean'检查文件名If Dir(sExcelFileName) <> " " ThenIf sOverExist ThenKill sExcelFileNameElseiRe = FalseGoTo lbexitEnd IfEnd If'生成创建表的SQL语句With sRecordSetFor iI = 0 To .Fields.Count - 1iFdType = f_FieldType(.Fields(iI).Type)Select Case iFdTypeCase "char ", "varchar ", "nchar ", "nvarchar ", "varbinary "If .Fields(iI).DefinedSize > 255 TheniSql = iSql & ",[ " & .Fields(iI).Name & "] text "ElseiSql = iSql & ",[ " & .Fields(iI).Name & "] " & iFdType & _"( " & .Fields(iI).DefinedSize & ") "End IfCase "image "Case ElseiSql = iSql & ",[ " & .Fields(iI).Name & "] " & iFdTypeEnd SelectNextIf sTableName = " " Then sTableName = .SourceiSql = "create table [ "& sTableName & "]( " & Mid(iSql,2) & ") "End With'数据库连接字符串iConcStr = "DRIVER={Microsoft Excel Driver (*.xls)};DSN= ' ';FIRSTROWHASNAMES=1;READONLY=FALSE; " & _"CREA TE_DB= " " " & sExcelFileName & " " ";DBQ= " & sExcelFileName'创建Excel文件,并创建表Set iDB = New ADODB.ConnectioniDB.Open iConcStriDB.Execute iSql'插入数据With sRecordSet.MoveFirstWhile .EOF = FalseiSql = " "iFdlist = " "For iI = 0 To .Fields.Count - 1iFdType = f_FieldType(.Fields(iI).Type)If iFdType <> "image " And IsNull(.Fields(iI).V alue) = False TheniFdlist = iFdlist & ",[ " & .Fields(iI).Name & "] "Select Case iFdTypeCase "char ", "varchar ", "nchar ", "nvarchar ", "text "iSql = iSql & ", ' " & .Fields(iI).V alue & " ' "Case "datetime "iSql = iSql & ",# " & .Fields(iI).V alue & "# "Case "image "Case ElseiSql = iSql & "," & .Fields(iI).V alueEnd SelectEnd IfNextiSql = "insert into [ " & sTableName & "]( " & _Mid(iFdlist, 2) & ") values( "& Mid(iSql, 2) & ") "iDB.Execute iSql.MoveNextWendEnd With'处理完毕,关闭数据库iDB.CloseSet iDB = NothingMsgBox "已经将数据保存到[ " & sExcelFileName & " ] ", 64iRe = TrueGoTo lbexitlbErr:MsgBox "发生错误: " & Err.Description & vbCrLf & _"错误代码: " & Err.Number, 64, "错误"lbexit:f_Export2Excel = iReEnd Function。
VB数据库编程中数据输出到Excel的两种实现方法
VB数据库编程中数据输出到Excel的两种实现方法
何畏;虞水俊
【期刊名称】《电脑开发与应用》
【年(卷),期】2002(015)009
【摘要】针对VB开发管理信息系统过程中遇到的报表处理问题,介绍了结合Excel 进行报表制作的方法,给出了两种数据输出到Excel的实现方法,经检验这两种方法在实际应用中均有效.
【总页数】3页(P13-14,17)
【作者】何畏;虞水俊
【作者单位】国防科学技术大学,长沙,410073;国防科学技术大学,长沙,410073【正文语种】中文
【中图分类】TP3
【相关文献】
1.利用VB实现将Access数据库导出到Excel文件中 [J], 王洪香;王志刚
2.利用VB实现将Access数据库导出到Excel文件中 [J], 王洪香;王志刚
3.如何用VB6将数据导出到EXCEL中 [J], 李思
4.VB6.0中利用ADO对象实现数据库编程 [J], 陈虹颐;何春
5.从地面气象观测数据文件中读取数据到Excel的VBA代码实现方法 [J], 文承贵因版权原因,仅展示原文概要,查看原文内容请购买。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
'************************************************************************* '**
'** VB将数据导出到EXCEL,没有安装EXCEL的一样也可以导出.
'**
'** 调用方式: s_Export2Excel(Ado.Recordset) 或s_Export2Excel(Rds.RecordSet) '** 支持Rds 与Ado 的记录导出
'**
'*************************************************************************
'得到所有数据类型,有些数据类型EXCEL不支持,已经替换掉
Public Function f_FieldType$(ByVal sType&)
Dim iRe$
Select Case sType
Case 2, 3, 20
iRe = "int "
Case 5
iRe = "float "
Case 6
iRe = "money "
Case 131
iRe = "numeric "
Case 4
iRe = "real "
Case 128
iRe = "binary "
Case 204
iRe = "varbinary "
Case 11
iRe = "bit "
Case 129, 130
iRe = "char "
Case 17, 72, 131, 200, 202, 204
iRe = "varchar "
Case 201, 203
iRe = "text "
Case 7, 135
iRe = "datetime "
Case 205
iRe = "image "
Case 128
iRe = "timestamp "
End Select
f_FieldType = iRe
End Function
'导出ADO记录集到EXCEL
Public Function f_Export2Excel(ByVal sRecordSet As ADODB.Recordset, ByVal sExcelFileName$ _
, Optional ByVal sTableName$, Optional ByVal sOverExist As Boolean = False) As Boolean
'On Error GoTo lbErr
Dim iConcStr, iSql$, iFdlist$, iDB As ADODB.Connection
Dim iI&, iFdType$, j, TmpField, FileName
Dim iRe As Boolean
'检查文件名
If Dir(sExcelFileName) <> " " Then
If sOverExist Then
Kill sExcelFileName
Else
iRe = False
GoTo lbexit
End If
End If
'生成创建表的SQL语句
With sRecordSet
For iI = 0 To .Fields.Count - 1
iFdType = f_FieldType(.Fields(iI).Type)
Select Case iFdType
Case "char ", "varchar ", "nchar ", "nvarchar ", "varbinary "
If .Fields(iI).DefinedSize > 255 Then
iSql = iSql & ",[ " & .Fields(iI).Name & "] text "
Else
iSql = iSql & ",[ " & .Fields(iI).Name & "] " & iFdType & _
"( " & .Fields(iI).DefinedSize & ") "
End If
Case "image "
Case Else
iSql = iSql & ",[ " & .Fields(iI).Name & "] " & iFdType
End Select
Next
If sTableName = " " Then sTableName = .Source
iSql = "create table [ " & sTableName & "]( " & Mid(iSql,
2) & ") "
End With
'数据库连接字符串
iConcStr = "DRIVER={Microsoft Excel Driver (*.xls)};DSN= ' ';FIRSTROWHASNAMES=1;READONL Y=FALSE; " & _
"CREATE_DB= " " " & sExcelFileName & " " ";DBQ= " & sExcelFileName
'创建Excel文件,并创建表
Set iDB = New ADODB.Connection
iDB.Open iConcStr
iDB.Execute iSql
'插入数据
With sRecordSet
.MoveFirst
While .EOF = False
iSql = " "
iFdlist = " "
For iI = 0 To .Fields.Count - 1
iFdType = f_FieldType(.Fields(iI).Type)
If iFdType <> "image " And IsNull(.Fields(iI).Value) = False Then
iFdlist = iFdlist & ",[ " & .Fields(iI).Name & "] "
Select Case iFdType
Case "char ", "varchar ", "nchar ", "nvarchar ", "text "
iSql = iSql & ", ' " & .Fields(iI).Value & " ' "
Case "datetime "
iSql = iSql & ",# " & .Fields(iI).Value & "# "
Case "image "
Case Else
iSql = iSql & ",
" & .Fields(iI).Value
End Select
End If
Next
iSql = "insert into [ " & sTableName & "]( " & _
Mid(iFdlist, 2) & ") values( " & Mid(iSql, 2) & ") "
iDB.Execute iSql
.MoveNext
Wend
End With
'处理完毕,关闭数据库
iDB.Close
Set iDB = Nothing
MsgBox "已经将数据保存到[ " & sExcelFileName & " ] ", 64
iRe = True
GoTo lbexit
lbErr:
MsgBox "发生错误: " & Err.Description & vbCrLf & _
"错误代码: " & Err.Number, 64, "错误"
lbexit:
f_Export2Excel = iRe
End Function。