乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > [<em>vb.net</em>] 怎么把listview中数据 导出保存到成...-vb.ne

[<em>vb.net</em>] 怎么把listview中数据 导出保存到成...-vb.ne

作者:乔山办公网日期:

返回目录:excel表格制作


可对Ole控件关联对象的Excel表格的单元格的Value 属性赋值来写入VB已读到的数据。

Value 属性,返回或设置一个Variant型数,它指定该属性之值,此属性可读/写。

以下是实现代码:

Option Explicit
    Dim oBok As Object '定义oBok为Object 数据类型

Private Sub Command1_Click()
    OLE1.CreateLink "C:\zhang2012.xls" '打开要写入的Excel表
    Set oBok = OLE1.object '将对象引用赋给变量或属性。
    oBok.Sheets(1).Range("A1").Value = "VB已读取到数据库数据" '将数据写入Excel表的A列第一行
    Set oBok = Nothing '使用 Nothing 关键字被将对象变量从实际对象中分离开来。
End Sub

Object 变量存储为 32 位(4 个字节)的地址形式,其为对象的引用。利用 Set 语句,声明为 Object 的变量可以赋值为任何对象的引用。

注意 虽然以 Object 类型声明的变量足以适应包含对各种对e799bee5baa6e997aee7ad94e4b893e5b19e362象的引用,但是绑定到变量引用的对象总是在晚期(运行时)绑定。要强迫在早期(编译时间)绑定的话,须将对象的引用赋值给用特定类名称声明的变量。

使用 Nothing 关键字被将对象变量从实际对象中分离开来。要使用
Set 语句将 Nothing 赋值给对象变量。例如:

Set MyObject = Nothing

Set 语句,将对象引用赋给变量或属性。



我回答你的第一个问题,因为后面的看不懂你的意思
函数:
Public Function ListViewtoExcel(ByVal LV As ListView) As Boolean
Try
If LV.Items.Count <= 0 Then '判断记录数,如果没有记录就退出
MessageBox.Show("没有记录可以导出", "没有可以导出的e5a48de588b6e79fa5e98193334项目", MessageBoxButtons.OK, MessageBoxIcon.Information)
Return False
End If
'如果有记录就导出到Excel
Dim AP_Excel As Object '定义Excel对象
Dim wk As Object '定义Workbook对象
AP_Excel = CreateObject("Excel.Application") '创建Excel对象
wk = AP_Excel.workbooks.add()
Dim i As Integer, u As Integer = 0, v As Integer = 0 '定义循环变量,行变量,列变量
For i = 1 To LV.Columns.Count '把表头写入Excel
wk.worksheets(1).cells(1, i) = LV.Columns(i - 1).Text.Trim
Next
Dim str(LV.Items.Count - 1, LV.Columns.Count - 1) '定义一个二维数组
For u = 0 To LV.Items.Count - 1 '行循环
For v = 0 To LV.Columns.Count - 1 '列循环
If v < LV.Items(u).SubItems.Count Then '如果该行该列项存在
str(u, v) = LV.Items(u).SubItems(v).Text.Trim
Else '如果该行该列项不存在
str(u, v) = ""
End If
Next
Next
wk.worksheets(1).range("A2").Resize(LV.Items.Count, LV.Columns.Count).Value = str '把数组一起写入Excel
wk.worksheets(1).Cells.EntireColumn.AutoFit() '自动调整Excel列
' yy.worksheets(1).name = LV.TopLeftHeaderCell.Value.ToString '表标题写入作为Excel工作表名称
AP_Excel.visible = True '设置Excel可见
wk = Nothing '销毁组建释放资源
AP_Excel = Nothing '销毁组建释放资源
Return True '返回真
Catch ex As Exception '错误处理
MessageBox.Show(Err.Description.ToString, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error) '出错提示
Return False '返回假
End Try
End Function
调用函数:如 ListViewtoExcel(Me.ListView1)
我只有VB 2005,但是道理一样的!
首先通过菜单[项目] -- [添加引用],选择[COM]选项卡,选择“Microsoft Excel XX.0 Object Library”,[确定]。
其中:XX.0 ,视你安装的Office版本而定。
我给你弄了个比较详细例子:你自己根据需要,修改吧!

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim AppXls As Microsoft.Office.Interop.Excel.Application '声明Excel对象
Dim AppWokBook As Microsoft.Office.Interop.Excel.Workbook '声明工作簿对象
Dim AppSheet As New Microsoft.Office.Interop.Excel.Worksheet '声明工作表对象

AppXls = New Microsoft.Office.Interop.Excel.Application '实例化Excel对象
AppXls.Workbooks.Open("C:\学生成绩.xls") '打开已经存在的EXCEL文件
AppXls.Visible = False '使Excel不可见

'AppWokBook = New Microsoft.Office.Interop.Excel.Workbook '实例化工作簿对象
'AppSheet = New Microsoft.Office.Interop.Excel.Worksheet '实例化工作表对象

AppWokBook = AppXls.Workbooks(1) 'AppWokBook对象指向工作簿"C:\学生成绩.xls"
AppSheet = AppWokBook.Sheets("Sheet1") 'AppSheet对象指向AppWokBook对象中的表“Sheet1”,即:"C:\学生成绩.xls"中的表“Sheet1”

'下面举一些例子:
'1、如果不声明工作表对象 AppSheet ,那么应用AppWokBook对象中的表“Sheet1”的语句就是:AppWokBook.Sheets("Sheet1")
'2、如果不声明工作簿对象 AppWokBook ,那么应用"C:\学生成绩.xls"中的表“Sheet1”的语句就是:AppXls.Workbooks("C:\学生成绩.xls").Sheets("Sheet1")

'要读取数据表"Sheet1"中的单元格“A1”的值,到变量S1里
Dim S1 As String
'方法一
S1 = AppXls.Workbooks(1).Sheets("Sheet1").Range("A1").Value
MsgBox(S1)

'方法二
S1 = AppWokBook.Sheets("Sheet1").Range("A1").Value
MsgBox(S1)

'方法三
S1 = AppSheet.Range("A1").Value
MsgBox(S1)

'把数据写入到单元格“H2”,就是第2行第8个单元格
'方法一
AppXls.Workbooks(1).Sheets("Sheet1").Cells(2, 8).Value = "您好!"
S1 = AppXls.Workbooks(1).Sheets("Sheet1").Cells(2, 8).Value '为了验证,读取并显示它
MsgBox(S1)

'方法二
AppWokBook.Sheets("Sheet1").Cells(2, 8).Value = "你们好!"
S1 = AppWokBook.Sheets("Sheet1").Cells(2, 8).Value '为了验证,读取并显示它
MsgBox(S1)

'方法二
AppSheet.Cells(2, 8).Value = "大家好!"
S1 = AppSheet.Cells(2, 8).Value '为了验证,读取并显示它
MsgBox(S1)

'使用完毕必须关闭EXCEL,并退出
AppXls.ActiveWorkbook.Close(SaveChanges:=True)
AppXls.Quit()

'完成此程序,打开EXCEL检查,可以看到在“Sheet1”表的单元格“H2”里是e68a84e79fa5e98193364文本“大家好!”

End Sub

你把那第一段改成这样呀?
'获取标题
Dim Cols as integer
for Cols = 1 to DataGridView1..ColumnCount
MyExcel.Cells(1,Cols)=DataGridView1.Columns(Cols-1).HeaderText
next

相关阅读

  • -vb excel 复制一行,vb打开excel

  • 乔山办公网excel表格制作
  • 代码错误。因为图片知对象属于Shapes: axlBook.Sheets("sheet1").Shapes.Range(Array("图片名")).Select选中图片 Selection.Cut’剪切 axlBook.Sheets("sheet1").Range("3:3").
  • -vb宏 excel文件,vb打开excel文件

  • 乔山办公网excel表格制作
  • 只能运行某个宏 在摸百个宏里边运行 用户度窗体知如qw 宏中Sub qw() UserForm1.ShowEnd Sub在用户窗体中把 按钮代码复道制到 窗体激活内事件下Private Sub UserForm_Activate()MsgBox "1234"End Sub在VB中
关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网