获取execl表中内容时报错 FROM 子句语法错误。来高手

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取execl表中内容时报错 FROM 子句语法错误。来高手相关的知识,希望对你有一定的参考价值。

private DataSet GetExcelContent(string filepath) //得到EXCEL表格内容

string strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filepath + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1'";
System.Data.OleDb.OleDbConnection myConn = new System.Data.OleDb.OleDbConnection(strCon);
myConn.Open();
DataTable dt = myConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
string tableName = dt.Rows[0][2].ToString().Trim();
string strCom = "SELECT * FROM "+ tableName;
System.Data.OleDb.OleDbDataAdapter myCommand = new System.Data.OleDb.OleDbDataAdapter(strCom, myConn);
DataSet myDataSet = new DataSet();
myCommand.Fill(myDataSet);
Session["data"] = myDataSet; //保存数据至session里
myConn.Close();
return myDataSet;

参考技术A 调试一下,看看变量strCom 的最后的值咯!!!
看看from后面是不是有空格,看看你获取到的表名(即变量tableName 的值)是否正确?追问

SELECT * FROM Sheet1$ 这是strCom的值

追答

去掉$看看

追问

怎么去掉约 我没添加上来啊

追答

“怎么去掉约 我没添加上来啊”????????????什么意思啊?
你不是说变量获取到的值含有“$”么,表名应该不含它,去掉应该就可以正确访问到表啊

追问

我这个是预览功能 ,点击预览 要显示在网页上Execl内容 但没有显示 Execl文件却上传到服务器了

Windows安装部署yahoo的cmak运行时报错:输入行太长,命令语法不正确

Windows安装部署yahoo的cmak运行时报错,输入行太长,命令语法不正确

原因是cmak.bat所在目录所在层次太深。

 解决方案:

把cmak放到驱动器的根目录下即可。

以上是关于获取execl表中内容时报错 FROM 子句语法错误。来高手的主要内容,如果未能解决你的问题,请参考以下文章

Mysql中表名如果是3e开头,查询时报语法错,原因未知

java 使用POI导出Excel文件,打开导出文件时报错

两次调用ResultSet时报错!

创建UmiJS项目时报错--文件名目录名或卷标语法不正确

创建UmiJS项目时报错--文件名目录名或卷标语法不正确

webpack打包时报错ERROR in static/js/vendor.35f3cd6381fdca8d6f5b.js from UglifyJs