我目前正在使用基于用户输入搜索文本框的文本的数据库中的数据填充列表视图 .
<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
现在我添加了一个按钮将结果导出到excel,并且我使用了以下代码来恢复错误 - “subitems不是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 .
EDIT
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”,然后对于每一行,我将listview中的项目分配给excel列行并每次递增工作得很好 .
感谢@jelly的帮助