如何在VB.NET中将DataGridView中的数据导出到文本文件
我想知道代码,如何将如何在VB.NET中将DataGridView中的数据导出到文本文件,vb.net,Vb.net,我想知道代码,如何将DataGridView1中的内容导出到VB.NET中的文本文件中。 我正在使用Visual Studio 2019。该表将包括: 样本: ------------------------------------------------------------------------------------- | Item Code | Item Name | Item Description | Price | In-Stock | Supplier
DataGridView1
中的内容导出到VB.NET中的文本文件中。
我正在使用Visual Studio 2019。该表将包括:
样本:
-------------------------------------------------------------------------------------
| Item Code | Item Name | Item Description | Price | In-Stock | Supplier |
-------------------------------------------------------------------------------------
|12345 |Cupboard |a small sized cupboard |Rs.15,000 |15 |ABC Industry |
-------------------------------------------------------------------------------------
|45689 |Chair |a small chair |Rs.10,000 |10 |ABC Industry |
-------------------------------------------------------------------------------------
and so on...
在文本文件中,上述数据将存储为
12345|Cupboard|a small sized cupboard|15000|15|ABC Industry
45689|Chair|a small chair|10000|10|ABC Industry
and so on...
多谢各位
[shannon]试试这个
Dim OPString As String=""
Dim SW As StreamWriter = My.Computer.FileSystem.OpenTextFileWriter(filepath, True)
Dim grid as DatagridView = DataGridView1
'print col header names
For i = 1 To grid.Columns.Count
OPString = grid.Columns(i - 1).HeaderText & "|"
Next
SW.WriteLine(OPString)
OPString=""
'Clear the code above if you don't want headers to be added everytime
'print data
For i = 0 To grid.RowCount - 2
For j = 0 To grid.ColumnCount - 1
OPString = grid(j, i).Value & "|"
Next
Next
SW.WriteLine(OPString)
您可以尝试以下代码:
Dim sw As System.IO.StreamWriter = My.Computer.FileSystem.OpenTextFileWriter(filepath, True)
Dim str As String = String.Empty
For a As Integer = 0 To DataGridView1.RowCount - 1
str = String.Empty
For b As Integer = 0 To DataGridView1.ColumnCount - 1
str = str & DataGridView1.Rows(a).Cells(b).Value.ToString & "|"
Next
str = str.Substring(0, str.Length - 1)
sw.WriteLine(str)
Next
sw.Close()
假设在
DataGridView
的源中有一个DataTable
。
创建为StringBuilder
。
重新构造数据表
。
循环遍历数据表中的行,将每行转换为对象数组。
将对象数组更改为具有少量Linq的字符串数组。
使用管道连接字符串数组,并将线附加到字符串生成器。
循环完成后,保存到文本文件
Private子按钮2\u单击(发送者作为对象,e作为事件参数)处理按钮2。单击
使某人成为新的架线工
Dim dt=DirectCast(DataGridView1.DataSource,DataTable)
对于dt.行中作为DataRow的每一行
Dim arr=row.ItemArray
Dim strArr=arr中的From元素
选择CStr(元件)
Dim rowString=String.Join(“|”,strArr)
sb.AppendLine(行字符串)
下一个
File.writealText(“C:\Users\xxxx\Desktop\MyGrid.txt”,sb.ToString)
MessageBox.Show(“完成”)
端接头
请与我们分享您迄今为止所做的任何尝试。如果没有,那么询问Stackoverflow就太早了。感谢您提供的代码,但我收到了“Microsoft.VisualBasic.dll中发生了类型为'System.InvalidCastException'的未处理异常。其他信息:从字符串“|”到类型为'Double'的转换无效。已发生”
在代码OPString=grid.Columns(i-1).HeaderText+“|”
处,我收到此错误Trile.exe中发生了类型为“System.NullReferenceException”的未处理异常附加信息:对象引用未设置为对象实例。在str=str&DataGridView1.Rows(a)、Cells(b)、Value.ToString&“|”行发生