VB将数据导出到EXCEL

合集下载

vb 从数据库和gridview导出数据到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表格中

vb用数组方式快速导出MSFlexGrid表格数据到Excel表格中
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导出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数据到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

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的文件导入导出技巧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 导入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的方法

关于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中。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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。

相关文档
最新文档