【发布时间】:2008-10-16 07:32:58
【问题描述】:
以下代码完美地将电子表格中的数据返回到网格中
[
string excelConnectString = "Provider = Microsoft.Jet.OLEDB.4.0;" +
"Data Source = " + excelFileName + ";" +
"Extended Properties = Excel 8.0;";
OleDbConnection objConn = new OleDbConnection(excelConnectString);
OleDbCommand objCmd = new OleDbCommand("Select * From [Accounts$]", objConn);
OleDbDataAdapter objDatAdap = new OleDbDataAdapter();
objDatAdap.SelectCommand = objCmd;
DataSet ds = new DataSet();
objDatAdap.Fill(ds);
fpDataSet_Sheet1.DataSource = ds;//fill a grid with data
]
我正在使用的电子表格有从 A 命名的列等等(只是标准列名) 工作表名称是 Accounts。
我的查询有问题...
[OleDbCommand objCmd = new OleDbCommand("Select * From [Accounts$]", objConn);]
我怎样才能使查询字符串像这样......
"Select <columnA>,<columnB>,SUM<columnG> from [Accounts$] group by <columnA>,<columnB>"
..以便它返回此查询的结果
注意:A 列是工作表上的 A,B 列是工作表上的 B,G 列是工作表上的 G
其他可能的替代方案:
- 我将那个 excel 的数据分散到一个 DataTable 对象中,我如何查询 DataTAable 对象
- 我读到了一个 DataView 对象,它可以获取一个表并返回根据 (
<dataviewObject>.RowFilter = "where...") 操作的表,但我不知道如何使用我想要的查询。
【问题讨论】: