vb中将datagrid导出到excel

我用vb做的管理系统有一个查询结果能在datagrid中显示,现在需要datagrid中的查询结果导出到excel格式。希望老大们帮帮忙。要详细

第1个回答  2011-09-18
Dim ex As Object
Dim i As Integer
Dim j As Integer
Dim XlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Set XlApp = CreateObject("Excel.Application")
XlApp.Visible = True
Set xlBook = XlApp.Workbooks.Add
Set xlSheet = xlBook.Worksheets(1)

For i = 0 To DataGrid1.Columns.Count - 1
For j = 0 To DataGrid1.ApproxCount - 1

DataGrid1.Col = i
On Error Resume Next
DataGrid1.Row = j
xlSheet.Cells(j + 1, i + 1) = DataGrid1.Columns.Item(i).Text
Next j
Next i追问

把这个代码要放哪里去?
是在
Private Sub Command1_Click()
End Sub
里面吗? 还要不要加其他什么?Load 里面要不要加? 需要加那些控件?

追答

Private Sub Command1_Click()
End Sub
里面

都不需要别的

追问

错误提示:用户定义类型未定义

XlApp As Excel.Application

如果问题解决了给你再追加20分。 先谢谢了

追答

在菜单:工程->引用 里面找Microsoft Excel....并勾选上才可以。
如果可以的话我可以把示例传给你,留QQ

追问

我的QQ:362753668

本回答被提问者采纳

vb中的datagrid里面的数据如何导出到excel表里面
首先在你的工程中引用Excel对象,比如“Microsoft Excel 11 Object Library”;然后在执行导出的代码里声明对象(代码仅供参考):Dim xlApp As Excel.Application Dim xlBook As Excel.Workbook Dim xlSheet As Excel.Worksheet Dim strFilename as String ''Excel文件 Dim i as Integer,j as Intege...

VB程序DataGrid控件记录导出Excel表中如何设置列宽
这样,你先打开Excel,使用菜单[工具]--[宏]--[录制新宏]--[确定],然后:在表里输入一些文字,选中该列,设置列宽,完了 菜单[工具]--[宏]--[停止录制],菜单[工具]--[宏]--[宏]--[编辑],在编辑窗口看一下代码,你应该可以理解,把适当的代码复制到你的程序里,适当修改一定可以达到理...

vb 执行sql语句得到的结果集怎样输出到excel单元格中?
可以,在vb窗口建个datagrid,adodc,用adodc绑定你的数据库,datagrid的DataSource选择那个adodc,这样就能把记录集中的数据显示在datagrid表格中,然后再把datagrid表格中的查询结果导入到Excel中,把datagrid导入到Excel的代码如下:Dim ex As Object Dim i As Integer Dim j As Integer Dim XlApp As Ex...

vb中,怎么将datagrid中的数据另存为Excel文件?
Public Sub import_Excel(Adc As Adodc, data_grid As DataGrid)On Error GoTo err Set Application = CreateObject("Excel.Application") '建立EXCEL对象 Set WorkBook = Application.Workbooks.Add() '建立一个新的Excel文档 Dim k, Column, Row, r, c As Integer Adc.Recordset.MoveFirst Columns...

VB高手请进.使用VB6.0的DATAGRID控件输出到EXCEL里时只显示可见行,请问...
'输出表头 For i = 0 To Me.Adodc1.Recordset.Fields.Count - 1 '设置列名 strColName1 = Chr(65 + i) & "1"oSheet.Range(strColName1).Value = Me.DataGrid1.Columns(i).Caption '据DataGrid中的宽度设置EXCEL列宽 StrColName = Chr(65 + i) & ":" & Chr(65 + i)oSheet....

VB里怎样将data grid记录导出excel
Workbooks.Add Excel.WindowState = 2 Excel.Visible = True '打开excel文件 Set WorkSheet = Excel.Worksheets(1) WorkSheet.Cells.NumberFormatLocal = "@" '将sheet1格式设置为“文本”格式 WorkSheet.Columns(1).ColumnWidth = "14" WorkSheet.Columns(2).ColumnWidth = "35" With datagrid bm =...

VB6.0的DATAGRID数据导出EXCEL
Conn.Execute "insert into [excel 8.0;database=" & Filepath & "].[S_Line_GE$] select 回路编号,顶点序号,东坐标,北坐标,高程,回路电压,回路导线,里程,转角,方位角,控制区段,杆塔编号,杆塔型号 from S_Line_GE order by 回路编号,里程"'将库中的数据导出到刚刚建立的表中。看上去多...

vb6.0中datagrid导出excel数据设置文本格式?
xlSheet.Cells(j + 1, i + 1) = 用户_进口Grid.Columns.Item(i).Text 后面来一句:xlSheet.Selection.NumberFormatLocal = "@"

vb.net中从DataGridView里面把数据导出到excel中
excel.Cells(1, i + 1) = DataGridView1.Columns(i).HeaderText Next '设置标题 Dim j As Integer For i = 0 To DataGridView1.Rows.Count - 1 '填充数据 For j = 0 To DataGridView1.Columns.Count - 1 excel.Cells(i + 2, j + 1) = DataGridView1(j, i).Value Next Next ex...

vb.net dataGridView导出EXCEL
Public Function daochu(ByVal x As DataGridView) As Boolean '导出到Excel函数 Try If x.Rows.Count <= 0 Then '判断记录数,如果没有记录就退出 MessageBox.Show("没有记录可以导出", "没有可以导出的项目", MessageBoxButtons.OK, MessageBoxIcon.Information)Return False Else '如果有记录就...

相似回答