如何恢复 List<DataRow> 的内容并变成 List<string>

How can i recover content of a List<DataRow> and turn into a List<string>

我正在读取 Excel 文件并将其内容插入到 List<DataRow> 中,如下所示:

 DataSet ds = excelReader.AsDataSet();
        DataTable data = ds.Tables[0];
        List<DataRow> rows = data.Rows.Cast<DataRow>().ToList();

这工作得很好,但我需要 List<String>

上的这些内容

如果你想获取第一列的值

var rows = data.Rows.Cast<DataRow>().Select(dr => dr[0].ToString());

您可以尝试 OfType Linq 方法,方法如下: List<string> rowsAsString = rows.OfType<string>()

这将尝试将每一行转换为一个字符串,但是如果转换无效,这将失败,您必须操纵每一行以获得预期的输出,类似于 Milton 的回答。在不知道您希望如何格式化输出的情况下,我无法为您提供确切的答案。

我用这段代码弄明白了:

List<DataRow> pStrings //this is my populated list


int y = 0;
 foreach (DataRow str in pStrings)
            {
                 string value = str[y].ToString();
                y++;

            }

使用这段代码我可以获得每个 DataRow 的值。 感谢大家的回答