我目前正在使用oledb将excel数据转换为c#中的数据集/数据表。到目前为止它的工作原理,但我遇到了获得Excel工作表的问题。我有这个代码从excel到数据集
获取数据bool ret = false;
DataSet dset = new DataSet();
string strConn;
try
{
if (filePath.Substring(filePath.LastIndexOf('.')).ToLower() == ".xlsx")
{
strConn = String.Format(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=""Excel 12.0;HDR=NO;IMEX=1;""", filePath);
}
else
strConn = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties='Excel 8.0;HDR=NO;'";
//SELECT * FROM [{0}$A5:BE] dont accept all sheet names
string sql = String.Format("SELECT * FROM [{0}$A6:BH]", sheetname);
OleDbDataAdapter adap = new OleDbDataAdapter(sql, strConn);
adap.Fill(dset, "SignalList");
我的问题是这个select语句,我得到了excel数据。有时它会接受这个选择语句:
String.Format("SELECT * FROM [{0}$A6:BH]", sheetname),
有时它接受这个陈述:
String.Format("SELECT * FROM [{0} $A6:BH]", sheetname)
我在使用Excel上获取数据时出错了吗?对不起我的英语不好。请帮忙