将.txt文件内容导入到datagridview中
问题描述:
我找到了一个代码here,用于将我的数据从文本文件导入到DataGridView。将.txt文件内容导入到datagridview中
public void LoadIntoGrid(string path)
{
var lines = File.ReadAllLines(path);
if (lines.Count() > 0)
{
foreach (var columnName in lines.FirstOrDefault()
.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries))
{
dataGridView1.Columns.Add(columnName, columnName);
}
foreach (var cellValues in lines.Skip(1))
{
var cellArray = cellValues
.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
if (cellArray.Length == dataGridView1.Columns.Count)
dataGridView1.Rows.Add(cellArray);
}
}
}
我以前从来没有用过这样的东西,我迷路了。我的意思是 - 我不知道这里有什么问题。关键是我没有填写所有栏目。只是之后有一些像“断线”的东西。我会告诉你在屏幕上:
所以,你可以看到,152659,152680,152684拿到后,只有“破线”(不完全,因为有一个“Z”在这一行)这些值进入数据网格。
我使用的文本文件的内容:
WYNIKI – PO POPRAWACH (Zarządzanie cz.I) Gr10 IwB I rok NR PR-ZESP SYSTEM OP. MT ZDLN P ALOK. Seria,R ∑ PUN prznt T PROPOZ ALB. KTÓW OC 02.10 09.10. 16.10 23.10 30.10. 06.11 13.11 06.11 152628 10 7,2 10 9,8 7 9 53 z 3 4 152631 10 6 10 9,3 8,2 7,5 51 z 2+ 3 152632 10 7 10 7,5 4,1 6 44,6 z 2/2/z 3 152633 10 6,5 10 7,5 4,1 6 44,1 z 3 3+ 152634 10 4,7 10 8,8 7 6 46,5 z 3 4 148999 0 0 0 9,8 7 7,5 24,3 z 3-/2/z 3 152636 10 6 10 7,2 7 7 47,2 z 3+ 4+ 152637 10 7,2 10 9,3 8,2 7,5 52,2 z 3 4 152639 10 4,5 10 0 8,2 9 41,7 z 2/3 3+ 152640 10 6,3 10 5,5 0 8,3 40,1 z 3- 3 152642 0 7 10 9,8 0 5 31,8 z 2 /3 3 152643 10 7,2 10 5,1 7 7,5 46,8 z 2+ 3 152644 10 6,3 10 8,8 8,2 5 48,3 z 3+ 4+ 152650 10 6,2 10 9 9 9,5 53,7 z 3+ 4+ 152651 0 7,5 10 8,8 0 6 32,3 z 3-/z 3 152652 10 4,7 10 7 7 6 44,7 z 3+ 4 152654 10 6,3 0 9,8 8,2 5 39,3 z 3- 3 152655 0 0 0 0 0 0 0 0 152659 10 6,5 10 7,5 4,1 8,3 46,4 3 4 z 152660 10 6,2 0 0 0 9,5 25,7 z 3- P/2 152661 10 7 10 7 0 8,3 42,3 z 2+ 3 152665 10 4,7 10 7,5 4,1 6 42,3 z 3+ 4 152669 10 7,5 10 9,3 8,2 9 54 z 2+/3 3/4 154874 10 4,5 10 9,3 0 9 42,8 z 2 p/2 152673 10 4,7 10 7 7 6 44,7 z 3 3+ 152675 10 6 10 5,1 8,2 5 44,3 z 2+ 3 152676 10 4,5 10 5,1 7 8,3 44,9 z 2+ 3 152677 10 6,5 10 5,5 7 6 45 z 3+ 4 152678 10 6,3 0 5,5 8,2 9,5 39,5 z 3- 3 152679 10 6 0 0 0 0 16 0 152680 10 7,2 10 5,1 7 9 48,3 2+ 3 z 149045 10 6,2 10 9 9 9,5 53,7 z 3 4 152681 10 0 0 0 0 0 10 0 152684 10 6,5 10 5,5 0 0 32 0/3 3 z 152686 10 7,5 10 9 9 9,5 55 z 2+ 3 152687 10 7 0 0 0 0 17 0
什么可能是错在这里了?
答
通过编码您的数据是不同的txt文件。某些txt文件的行未满。所以它不能在gridview上显示所有的信息。看看你的txt文件
恩......我不明白,你能详细解释一下吗? –
源数据没有规则。所以代码不能通过分割“”来分割成功。 – user5949499
但您可以使用.txt扩展名创建一个新文件,然后在其中输入一些数据。使用逗号分割可以被C#分割的数据。 – user5949499