C#循环仅返回DataTable第一行数据的问题排查
问题原因与解决办法
你的代码里的Console.ReadLine()被放在了foreach循环内部,每次输出完一行数据后,程序会暂停等待用户输入,在你没有输入内容并按下回车前,程序不会继续处理下一行数据,这就是控制台只显示第一行的原因。
把Console.ReadLine()移到循环外部(如果需要所有行输出完后再等待输入),或者直接移除(如果不需要等待用户输入),修改后的代码如下:
WorkBook workbook = WorkBook.LoadCSV("C:\\Test\\Test.csv", fileFormat: ExcelFileFormat.XLSX, listDelimiter: ","); WorkSheet ws = workbook.DefaultWorkSheet; DataTable dt = ws.ToDataTable(true);//parse sheet1 of sample.xlsx file into datatable foreach (DataRow row in dt.Rows) //access rows { for (int i = 0; i < dt.Columns.Count; i++) //access columns of corresponding row { Console.Write(row[i] + " "); } Console.WriteLine(); } // 可选:所有行输出完成后再等待输入 // Console.ReadLine();
内容的提问来源于stack exchange,提问作者CGarden
相关产品推荐
相关产品推荐

