1

是否可以从“eg A2”列中读取文件并读取整个文档?

当前代码:

("Select  * FROM [" + excelSheet[i] + "]", excelConnection); 
4

1 回答 1

0

像任何 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();
        }
于 2012-11-06T14:04:33.053 回答