C# 如何从C中的.txt文件分割空间来填充dataGridView#
我需要帮助:-) 我有一个file.txt,内容如下:C# 如何从C中的.txt文件分割空间来填充dataGridView#,c#,C#,我需要帮助:-) 我有一个file.txt,内容如下: 00001 JhonKey 023301923 00002 Hercules 023039910 COL1 | COL2 | COL3 ----------------------------------- 00001 | JhonKey | 023301923 00002 | Hercules | 023039910 我想通过datatable将此文件加载到d
00001 JhonKey 023301923
00002 Hercules 023039910
COL1 | COL2 | COL3
-----------------------------------
00001 | JhonKey | 023301923
00002 | Hercules | 023039910
我想通过datatable将此文件加载到datagridview,结果应保存在datagrid中,如下所示:
00001 JhonKey 023301923
00002 Hercules 023039910
COL1 | COL2 | COL3
-----------------------------------
00001 | JhonKey | 023301923
00002 | Hercules | 023039910
我正在尝试以下代码:
using (StreamReader SR = new StreamReader(txtFileName))
{
int row = 0;
string line;
while ((line = SR.ReadLine())!= null)
{
string[] Columns = line.Split(',');
dataGridView2.Rows.Add();
for (int i = 0; i < Columns.Length; i++)
{
dataGridView2[i, row].Value = Columns[i];
}
row++;
}
}
查看line string[]Columns=line.Split(','); 您尝试按逗号分隔行,但文件中没有逗号。尝试按空格分割。 像 或
然后您的数据将被正确地添加到列和行中。你应该读更多的教程。因为这个问题是在Stackoverflow中提出的。你可以阅读这个问题。我希望这段代码能帮助你。你的意思是使用断点?很好,这很管用,但我必须按照file.txt上使用的空间曲调创建拆分空间。下面我的答案是:创建拆分空间,按照file.txt上使用的空间曲调创建拆分空间,如下所示:string[]Columns=line.split(“”);
string[] Columns = line.Split(new []{' '}, StringSplitOptions.RemoveEmptyEntries)
using System.Data;
using System.IO;
public class FromYourFileToGrid
{
public static DataTable DataTableFromYourTextFile(string directory, char splitter=',')
{
DataTable result;
string[] LineArray = File.ReadAllLines(directory);
result = FormDataTable(LineArray, splitter);
return result;
}
private static DataTable FormDataTable(string []LineArray, char splitter)
{
bool IsHeaderSet = false;
DataTable dt = new DataTable();
AddColumnToTable(LineArray, splitter, ref dt);
AddRowToTable(LineArray, splitter, ref dt);
return dt;
}
private static void AddRowToTable(string []valueCollection, char splitter, ref DataTable dt)
{
for (int i = 1; i < valueCollection.Length; i++)
{
string[] values = valueCollection[i].Split(splitter);
DataRow dr = dt.NewRow();
for (int j = 0; j < values.Length; j++)
{
dr[j] = values[j];
}
dt.Rows.Add(dr);
}
}
private static void AddColumnToTable(string []columnCollection, char splitter, ref DataTable dt)
{
string[] columns = columnCollection[0].Split(splitter);
foreach (string columnName in columns)
{
DataColumn dc = new DataColumn(columnName, typeof(string));
dt.Columns.Add(dc);
}
}
}
dataGridView1.DataSource = FromYourFileToGrid.DataTableFromYourTextFile("file.txt", '|');