【发布时间】:2015-01-19 12:54:13
【问题描述】:
我正在使用 C# 通过 ASP.net Web 表单显示 Excel 电子表格中的数据。我想对数据运行 SQL 查询,但无法弄清楚如何在我的查询中使用字符串。
这是我在 .aspx.cs 文件中运行的代码。我还使用 .aspx 在GridView 中显示数据。
protected void Page_Load(object sender, EventArgs e)
{
string sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + Server.MapPath("ExcelCSTest.xls") + ";" + "Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=1\"";
OleDbConnection objConn = new OleDbConnection(sConnectionString);
objConn.Open();
string sSQL = "SELECT * FROM [Sheet1$A1:D14]";
OleDbCommand objCmdSelect = new OleDbCommand(sSQL, objConn);
OleDbDataAdapter objAdapter1 = new OleDbDataAdapter();
objAdapter1.SelectCommand = objCmdSelect;
DataSet objDataset1 = new DataSet();
objAdapter1.Fill(objDataset1, "XLData");
GridView1.DataSource = objDataset1.Tables[0].DefaultView;
GridView1.DataBind();
objConn.Close();
}
理想情况下,我想在我的string sSQL = "SELECT * FROM [Sheet1$A1:D14]"; 中添加一个WHERE 子句,以便查询当前月份并从Excel 电子表格中显示该月份的行。
【问题讨论】:
-
Excel 是您可以在网站中使用的最糟糕的数据源。即使是平面文件也会更好。
-
@TomyVarghese 提到“包含 where 子句时出现的错误是什么?”
标签: c# asp.net excel tsql oledb