从 ExcelDataReader 数据集中保存值
Saving Values from ExcelDataReader DataSets
我正在使用 C# 使用 ExcelDataReader
和 ExcelDataReader.DataSet
读取 Excel 文件。我不太熟悉解析数据集,所以我想知道如何将每一行的值保存在 Excel 的特定列中。我需要代码从我加载的电子表格的第一列中提取所有值。
public void ExcelFileReader(string path)
{
var stream = File.Open(path, FileMode.Open, FileAccess.Read);
var reader = ExcelReaderFactory.CreateReader(stream);
var rowCount = reader.RowCount;
result = reader.AsDataSet(new ExcelDataSetConfiguration()
{
ConfigureDataTable = (DataTableReader) => new ExcelDataTableConfiguration()
{
UseHeaderRow = true
}
});
var tables = result.Tables.Cast<DataTable>();
var dataTable = result.Tables[0].Columns[0].ToString();
foreach(DataTable table in tables)
{
dataGridView1.DataSource = table;
}
}
行:var dataTable = result.Tables[0].Columns[0].ToString();
将为我提供所需列的 header 的名称,但我如何解析第 1 列的行并保存所有值?
您必须遍历 table 的行,然后获取第 0 列的值。
foreach (DataRow row in dataset.Tables[0].Rows)
{
Console.WriteLine(row[0]);
}
这将写入第一列(索引 0)中的所有值。
我正在使用 C# 使用 ExcelDataReader
和 ExcelDataReader.DataSet
读取 Excel 文件。我不太熟悉解析数据集,所以我想知道如何将每一行的值保存在 Excel 的特定列中。我需要代码从我加载的电子表格的第一列中提取所有值。
public void ExcelFileReader(string path)
{
var stream = File.Open(path, FileMode.Open, FileAccess.Read);
var reader = ExcelReaderFactory.CreateReader(stream);
var rowCount = reader.RowCount;
result = reader.AsDataSet(new ExcelDataSetConfiguration()
{
ConfigureDataTable = (DataTableReader) => new ExcelDataTableConfiguration()
{
UseHeaderRow = true
}
});
var tables = result.Tables.Cast<DataTable>();
var dataTable = result.Tables[0].Columns[0].ToString();
foreach(DataTable table in tables)
{
dataGridView1.DataSource = table;
}
}
行:var dataTable = result.Tables[0].Columns[0].ToString();
将为我提供所需列的 header 的名称,但我如何解析第 1 列的行并保存所有值?
您必须遍历 table 的行,然后获取第 0 列的值。
foreach (DataRow row in dataset.Tables[0].Rows)
{
Console.WriteLine(row[0]);
}
这将写入第一列(索引 0)中的所有值。