#vb.net #listbox
#vb.net #список
Вопрос:
Я получил нужные мне результаты из элемента управления Listview. Теперь я хотел бы экспортировать данные в текстовый файл / excel, а затем загрузить их обратно в элемент управления listview, когда мне это нужно. Я знаю, как выполнить обе эти задачи, используя элемент управления listbox, но listview для меня новый. Я часами изучал и играл с кодом, но я продолжаю получать ту или иную ошибку. Пожалуйста, найдите последнюю версию моего кода для экспорта данных ниже. Кроме того, если бы вы могли предоставить код для импорта, это было бы супер.
'Export the listview to an Excel spreadsheet
Dim SaveFileDialog1 As New SaveFileDialog
SaveFileDialog1.Title = "Save Excel File"
SaveFileDialog1.Filter = "Excel files (*.xls)|*.xls|Excel Files
(*.xlsx)|*.xslx"
SaveFileDialog1.ShowDialog()
'exit if no file selected
If SaveFileDialog1.FileName = "" Then
Exit Sub
End If
'create objects to interface to Excel
Dim xls As New Excel.Application
Dim book As Excel.Workbook
Dim sheet As Excel.Worksheet
Dim placeholder As String
'create a workbook and get reference to first worksheet
xls.Workbooks.Add()
book = xls.ActiveWorkbook
sheet = book.ActiveSheet
'step through rows and columns and copy data to worksheet
Dim row As Integer = 1
Dim col As Integer = 1
For Each item As ListViewItem In lstViewUsers.Items
For i As Integer = 0 To item.SubItems.Count - 1
placeholder = sheet.Cells(row, col) = item.SubItems(i).Text
col = col 1
Next
row = 1
col = 1
Next
'save the workbook and clean up
book.SaveAs(SaveFileDialog1.FileName)
xls.Workbooks.Close()
xls.Quit()
End Sub
Комментарии:
1. Не могли бы вы рассмотреть возможность использования
ListView
илиDataGridView
?2. Список может устанавливать жесткие (позиции пикселей) табуляции, но это того не стоит. Используйте ListView в представлении сведений, добавьте столбцы, необходимые для представления ваших данных.
3. Если я правильно понял, вы пытаетесь выровнять текст по количеству символов, это сработает, только если все символы имеют одинаковую ширину, но это не так, например, WWWW больше, чем IIII, поэтому вам нужно думать в пикселях, что будет более правильным, чем text .length . итак, как было сказано ранее, лучше использовать DataGridView, это сэкономит ваше время.
4. Если вы хотите выровнять текст по символам, вам нужно использовать шрифт фиксированной ширины. Кроме того, способ, которым вы это делаете, изворотлив. Читать это .
5. Я использовал ListView, и он работал отлично. Спасибо, ребята! Ты потрясающий!