导出Listview项目为Excel,获取子项目不是listviewItem错误的成员
我目前正在用基于用户input到search文本框的文本从数据库填充数据。
<ListView x:Name="listSearchServer" HorizontalAlignment="Center" Height="282" Margin="20,50,33,0" VerticalAlignment="Top" Width="264" BorderThickness="1" BorderBrush="#FFCCCCCC" Grid.ColumnSpan="3"/>
所以当我运行我的SQL并获取我需要的数据时,我将这些项目添加到列表视图
While reader.Read() countvalues = countvalues + 1 'Populate the SearchServers listview with result from query Dim share = reader("ShareName") listSearchServer.Items.Add(share) End While
现在我添加了一个button来将结果导出为excel,并且我使用了下面的代码来带回一个错误 – “子项目不是listviewitems的成员”
Private Sub cmdExportServer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdExportServer.Click Dim xls As New Excel.Application Dim book As Excel.Workbook Dim sheet As Excel.Worksheet xls.Workbooks.Add() book = xls.ActiveWorkbook sheet = book.ActiveSheet Dim row As Integer = 1 Dim col As Integer = 1 For Each item As ListViewItem In listSearchServer.Items For i As Integer = 0 To item.SubItems.Count - 1 sheet.Cells(row, col) = item.SubItems(i).Text col = col + 1 Next row += 1 col = 1 Next xls.Visible = True sheet = book.Sheets("Sheet1") Me.Close() End Sub
这是因为我没有子项目? 有谁知道我怎么可以导出数据到Excel。
编辑
Dim row As Integer = 1 For Each item As String In listSearchServer.Items sheet.Cells(row, 1) = item row = row + 1 Next
对于这个例子,我实际上并不需要跨列移动,并将“For Each item As ListViewItem”改为“as String”,然后对于每一行,我将列表视图中的项目分配给excel列行并每次递增哪些工作正常。
感谢@jelly的帮助