【问题标题】:how to print Datatable with header in C# console application?如何在 C# 控制台应用程序中打印带有标题的 Datatable?
【发布时间】:2018-03-25 06:12:32
【问题描述】:
我正在读取 csv 文件数据并想在控制台应用程序中打印数据表。
请告诉我该怎么做。以下是我现有的代码。
string csv_file_path = @"C:\Users\files\LP.csv";
DataTable csvData = GetDataTabletFromCSVFile(csv_file_path);
//Console.WriteLine(csvData);
foreach (DataRow row in csvData.Rows)
{
Console.WriteLine();
// ... Write value of first field as integer.
}
Console.ReadLine();
【问题讨论】:
标签:
c#
csv
datatable
console-application
【解决方案1】:
我创建了一个可以打印任何数据表的小方法(可以改进)
public static void printDataTable(DataTable tbl)
{
string line = "";
foreach (DataColumn item in tbl.Columns)
{
line += item.ColumnName +" ";
}
line += "\n";
foreach (DataRow row in tbl.Rows)
{
for (int i = 0; i < tbl.Columns.Count; i++)
{
line += row[i].ToString() + " ";
}
line += "\n";
}
Console.WriteLine(line) ;
}
【解决方案2】:
向C#指定要获取的参数
string csv_file_path = @"C:\Users\files\LP.csv";
DataTable csvData = GetDataTabletFromCSVFile(csv_file_path);
foreach(DataRow row in csvData.Rows)
{
string name = row["name"].ToString();
string description = row["description"].ToString();
string icoFileName = row["iconFile"].ToString();
string installScript = row["installScript"].ToString();
}
Console.ReadLine();
如果您需要从每一行中提取数据,那么您可以使用
table.rows[行索引][列索引]
或者如果你知道列名
table.rows[行索引][列名]