[vb.net] 怎么把listview中数据 导出保存到成excel文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[vb.net] 怎么把listview中数据 导出保存到成excel文件相关的知识,希望对你有一定的参考价值。
直接用代码生成,不引用excel
顺便解决一下textbox中内容写到listview为什么会生成两条内容,相同,或者第一条是空白,怎么解决
Private Sub WebBrowser1_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
Dim getReader As New System.IO.StreamReader(Me.WebBrowser1.DocumentStream, System.Text.Encoding.Default)
Dim gethtml = getReader.ReadToEnd()
Me.RichTextBox2.Text = gethtml '==源代码
'=============加序列
For stri = 1 To 10
RichTextBox2.Text = Regex.Replace(RichTextBox2.Text, "(?m)^(?!#)(?=.*id=""" & stri & """.*).", stri & "、<")
RichTextBox2.Text = Regex.Replace(RichTextBox2.Text, "(?m)^(?!#)(?=.*si=" & stri & ".*).", stri & "、<")
Next
ListView1.Items.Add(a-1)
ListView1.Items(a - 1).SubItems.Add(Textbox3.Text)
ListView1.Items(a - 1).SubItems.Add(RichTextBox2.Text)
End Sub
在webbrowser1加载中的,写入listview1中时候每次都是两条相同的数据,或者第一条只有textbox3内容,没有richtextbox中内容,第二条全的
函数:
Public Function ListViewtoExcel(ByVal LV As ListView) As Boolean
Try
If LV.Items.Count <= 0 Then '判断记录数,如果没有记录就退出
MessageBox.Show("没有记录可以导出", "没有可以导出的项目", 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)追问
怎么保存成xls文件?
追答函数中追加:WK.SaveAs(FileName, FileFormat, Password, WriteResPassword, ReadOnlyRecommended, CreateBackup, AccessMode, ConflictResolution, AddToMru, TextCodepage, TextVisualLayout, Local)
比如:wk.SaveAs("C:\1.xls")'-----------------------
AP_Excel.visible = True '设置Excel可见---------------在该语句前面追加,如果不需要弹出Excel,
则AP_Excel.visible = False
AP_Excel.DisplayAlerts = False'不弹出对话框
AP_Excel.quit()'退出应用程序
大师,你用什么编程,给小弟解决下
追答你直接复制、粘贴到EXCEL不就成EXCEL文件了嚒
追问哇靠,这都能想到,偶像啊,有没有不用复制、粘贴的方法,自动保存
以上是关于[vb.net] 怎么把listview中数据 导出保存到成excel文件的主要内容,如果未能解决你的问题,请参考以下文章