使用StreamWriter将数据导出到csv文件和vb.net中的每个工作表 [英] Export data to csv file and on every worksheet in vb.net using StreamWriter
本文介绍了使用StreamWriter将数据导出到csv文件和vb.net中的每个工作表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个查询列表,然后我想要导出到不同工作表的每个查询。我使用 StreamWriter
快速传输到CSV文件。 (见下面的示例代码)
I have a list of queries then every queries I want to export to different worksheets. I use StreamWriter
for fast transfer to CSV file. (see sample code below)
Dim _listOfQrys As New List(Of String)
_listOfQrys.Add("SELECT * FROM Table1")
_listOfQrys.Add("SELECT * FROM Table2")
_listOfQrys.Add("SELECT * FROM Table3")
For Each _query As String In _listOfQrys
Dim _dataAdap As New SqlDataAdapter(_query, Constr)
Dim _dataTbl As New DataTable
_dataTbl.Clear()
_dataAdap.Fill(_dataTbl)
If _dataTbl.Rows.Count > 0 Then
Dim headers = (From header As DataGridViewColumn In _dataTbl.Columns.Cast(Of DataGridViewColumn)() _
Select header.HeaderText).ToArray
Dim rows = From row As DataGridViewRow In _dataTbl.Rows.Cast(Of DataGridViewRow)() _
Where Not row.IsNewRow _
Select Array.ConvertAll(row.Cells.Cast(Of DataGridViewCell).ToArray, Function(c) If(c.Value IsNot Nothing, c.Value.ToString, ""))
Using sw As New IO.StreamWriter("sample.csv")
sw.WriteLine(String.Join(",", headers))
For Each r In rows
sw.WriteLine(String.Join(",", r))
Next
End Using
End If
Next
我的问题是如何将_ListofQrys导出到不同的工作表?
非常感谢任何替代方案或其他解决方案。谢谢!
My question is how to export those _ListofQrys to different worksheets?
Any alternatives or other solutions is much appreciated. thanks!
推荐答案
* .csv格式不支持工作表!
也许你可以试试这个:
免费导出到ExcelC#类,使用OpenXML [ ^ ]
The *.csv format does not support worksheets!
Maybe you can try this:
A free "Export to Excel" C# class, using OpenXML[^]
这篇关于使用StreamWriter将数据导出到csv文件和vb.net中的每个工作表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文