如何使用C#中的OLEDBDataReader从Excel中选择超过255列

时间:2015-05-07 07:00:26

标签: c# excel oledbdatareader

我有代码从excel表中选择值。目前,Excel工作表包含258列。我正在使用OLDDBDatrareader从该excel中选择值。但是,select查询仅选择前255列。每个版本中excel表中的列数将增加。那么如何从Excel工作表中选择超过255列。我已经使用了以下代码,

string Connection = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + fileName + ";Extended Properties=\"Excel 12.0;HDR=YES;IMEX=1;MAXSCANROWS=15;READONLY=FALSE\"";

        OleDbConnection con = new OleDbConnection(Connection);
        OleDbCommand command = new OleDbCommand();
        DataSet ds = new DataSet();
        command.CommandText = sql;
        command.CommandType = CommandType.Text;
        command.Connection = con;
        command.Connection.Open();
        OleDbDataReader dr = command.ExecuteReader(CommandBehavior.CloseConnection);

选择查询是,

sql.Append("SELECT * FROM [Sheet$]");

我尝试分解范围并使用类似sql.Append(“SELECT * FROM [Message $ A:IU]”)和sql.Append(“SELECT * FROM [Message $ IV:ConfigurationManager.AppSettings。获取( “EndRegion”)“);并将结果合并到单个数据表中。它按预期工作正常。但是此工作表中的列数是针对每个版本动态更新的。所以每个我们需要在该配置中给出结束范围。而不是这个解决方案是否可以选择所有行选择查询而不提供范围?如果可能,你能提供如何在EPPlus中使用选择查询吗?

请就此提出一些建议。

提前致谢。

0 个答案:

没有答案