列表视图项目并将其另存为.csv

时间:2011-12-15 17:29:39

标签: vb.net csv vb.net-2010

我正在做这个项目,我需要将列表视图中的项目名称保存为.csv

Imports System.IO

Public Class cv7import

Private Sub cv7import_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Dim caminho As String
    caminho = "C:\Documents and Settings\Software\Ambiente de trabalho\cv7import"

    Dim returnValue As String()
    returnValue = Environment.GetCommandLineArgs()
    If returnValue.Length > 1 Then
        MessageBox.Show(returnValue(1).ToString())
    Else
        MessageBox.Show("Nothing")
    End If

    ' Set ListView Properties  
    lstvicon.View = View.Details
    lstvicon.GridLines = False
    lstvicon.FullRowSelect = True
    lstvicon.HideSelection = False
    lstvicon.MultiSelect = True

    ' Create Columns Headers  
    lstvicon.Columns.Add("Nome")
    lstvicon.Columns.Add("Extensão")
    lstvicon.Columns.Add("Tamanho")
    lstvicon.Columns.Add("Data Modificação")

    Dim DI As System.IO.DirectoryInfo = New System.IO.DirectoryInfo(caminho)

    Dim files() As System.IO.FileInfo = DI.GetFiles

    Dim file As System.IO.FileInfo

    Dim li As ListViewItem
    For Each file In files
        li = lstvicon.Items.Add(file.Name)
        li.SubItems.Add(file.Extension)
        li.SubItems.Add(file.Length)
        li.SubItems.Add(file.LastWriteTimeUtc)
        'li.SubItems.Add(FileDialog)
    Next



End Sub

Private Sub btnimp_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnimp.Click

    ' Creates a csv File
    Dim csv As New System.IO.StreamWriter("C:\Documents and Settings\Software\Ambiente de trabalho\cv7import\teste.csv", True)

    lstvicon.SelectedItems.CopyTo(csv)

    csv.Close()


End Sub
End Class

这就是我得到的但是我似乎无法在.txt上写它。

我不知道从哪里开始,我已经花了好几个小时,所以任何帮助都会被贬低。

1 个答案:

答案 0 :(得分:0)

我认为你想要这样的东西:

    ' Creates a csv File
    Using csv As New System.IO.StreamWriter("C:\Documents and Settings\Software\Ambiente de trabalho\cv7import\teste.csv", True)
        For Each oItem As ListViewItem In ListView1.Items
            csv.WriteLine(String.Format("""{0}"",""{1}"",{2},{3}", oItem.Text, oItem.SubItems(0).Text, oItem.SubItems(1).Text, oItem.SubItems(2).Text )
        Next
    End Using

您可能需要清理csv格式,但这应该会给您一个想法。