是否可以从“eg A2
”列中读取文件并读取整个文档?
当前代码:
("Select * FROM [" + excelSheet[i] + "]", excelConnection);
像任何 SQL 查询一样指定列名。使用 * 获取所有列。指定单独的列集仅检索这些列。至于从你想要的行开始,在你得到数据后,你可以简单地使用 LINQ 和Skip()
方法从特定的“行”开始。
示例:使用上面的代码
("Select A,B,C,D FROM [" + excelSheet[i] + "]", excelConnection);
就迭代集合而言,我无法根据您的代码为您提供任何进一步的示例。所以这是一个演示这个概念的示例..
注意:我使用的是 ACE.OLEDB 驱动程序而不是 jet 并且正在解析 CSV。有关使用 EXCEL 的连接字符串的示例,请参见 www.connectionstrings.com;但我想你已经有了一个可以换掉的。
var dir = Path.GetDirectoryName(path);
var fileName = Path.GetFileName(path);
var connStr = string.Format(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=""{0}"";Extended Properties=""text;HDR=YES;FMT=CSVDelimited"";", dir);
using (var conn = new OleDbConnection(connStr))
using (var cmd = new OleDbCommand(string.Format(@"Select A,B,C,D from {0}", fileName), conn))
{
conn.Open();
IDataReader records = cmd.ExecuteReader(CommandBehavior.CloseConnection);
var result = YOURLOGICTOMAPRECORDSET_TOLIST();
var filteredSet=result.Skip([ROWCOUNTTOSKIPHERE]).ToList();
}