Excel SQL 查询如何指定列号而不是名称



我正在尝试在C#中查询和过滤OleDataTable,而不是Excel中的VBA。

string strSQL = "SELECT * FROM [Sheet1$] WHERE [Columns1$] is not null";  // to filter out any empty values, works if used column name like [UserInfo].
OleDbCommand cmd = new OleDbCommand(strSQL, connExcel);
OleDbDataAdapter da = new OleDbDataAdapter(cmd);
OleDbCommandBuilder commandBuilder = new OleDbCommandBuilder(da);
dtData = new DataTable();
DataSet dtDataT = new DataSet();
dtData.Locale = System.Globalization.CultureInfo.InvariantCulture;
string FilePath = copyfile.ToString();
da.Fill(dtData);

代替[Columns1$]我尝试了Columns(1)Columns(A),没有成功。

需要在连接字符串中指定 HDR=NO,之后列名将自动分配为 F1、F2 等。

https://www.connectionstrings.com/excel/

最新更新