Xml 如何导出到.csv文件

Xml 如何导出到.csv文件,xml,vb.net,dataset,export-to-csv,Xml,Vb.net,Dataset,Export To Csv,我有一个基本的VB.net程序,可以对数据库运行查询,提取客户信息以发送优惠券。我想做的是,当我按下命令按钮返回结果并在运行程序的计算机上创建一个.csv文件时。。。现在,我有一个程序运行查询,并将结果转储到报表查看器,但是我无法导出到.csv,并且有太多的记录无法在报表查看器上显示 这是我到目前为止的代码。。。我假设我需要以XML形式构建布局 Dim str As New StringBuilder For Each dr As DataRow In Me.D

我有一个基本的VB.net程序,可以对数据库运行查询,提取客户信息以发送优惠券。我想做的是,当我按下命令按钮返回结果并在运行程序的计算机上创建一个.csv文件时。。。现在,我有一个程序运行查询,并将结果转储到报表查看器,但是我无法导出到.csv,并且有太多的记录无法在报表查看器上显示

这是我到目前为止的代码。。。我假设我需要以XML形式构建布局

    Dim str As New StringBuilder

            For Each dr As DataRow In Me.DataDeliveryServiceDataSet.Invoice_Tb

                For Each field As Object In dr.ItemArray

                    str.Append(field.ToString & ",")

                Next

                str.Replace(",", vbNewLine, str.Length - 1, 1)

            Next



            Try

                My.Computer.FileSystem.WriteAllText("C:\temp\testcsv.csv", str.ToString, False)

            Catch ex As Exception

                MessageBox.Show("Write Error")
End Try
End Sub

您可以使用LinQ将内部循环替换为这个短版本

Dim str As New StringBuilder 
For Each dr As DataRow In Me.DataDeliveryServiceDataSet.Invoice_Tb 
    str.AppendLine(string.Join(",", _ 
             dr.ItemArray.Select(Function(o) if(o = DBNull.Value,"",o.ToString()))))
Next 
当然,如果需要以XML格式导出,就可以使用datatable的方法

Me.DataDeliveryServiceDataSet.Invoice_Tb.WriteXml("C:\temp\testcsv.csv")

您可以使用LinQ将内部循环替换为这个短版本

Dim str As New StringBuilder 
For Each dr As DataRow In Me.DataDeliveryServiceDataSet.Invoice_Tb 
    str.AppendLine(string.Join(",", _ 
             dr.ItemArray.Select(Function(o) if(o = DBNull.Value,"",o.ToString()))))
Next 
当然,如果需要以XML格式导出,就可以使用datatable的方法

Me.DataDeliveryServiceDataSet.Invoice_Tb.WriteXml("C:\temp\testcsv.csv")

我是个白痴。我没有创建“临时”文件夹。。。这个代码很好用。。。知道我该如何在CSV中插入标题吗?我是个白痴。我没有创建“临时”文件夹。。。这个代码很好用。。。知道我如何将标题插入CSV吗?