将XLS导出到DataTable-未排序的行
本文关键字:排序 DataTable- XLS | 更新日期: 2023-09-27 18:29:25
我正在将.xls文件导出到数据表中。以下是我的代码:
private DataTable ExportXlsToDt(String path)
{
OleDbConnection MyConnection = null;
DataSet DtSet = null;
OleDbDataAdapter MyCommand = null;
MyConnection = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0; Data Source='" + path + "';Extended Properties=Excel 8.0;");
ArrayList TblName = new ArrayList();
MyConnection.Open();
DataTable schemaTable = MyConnection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });
foreach (DataRow row in schemaTable.Rows)
{
TblName.Add(row["TABLE_NAME"]);
}
MyCommand = new System.Data.OleDb.OleDbDataAdapter("select * from [" + TblName[0].ToString() + "]", MyConnection);
DtSet = new System.Data.DataSet();
MyCommand.Fill(DtSet);
MyCommand.FillSchema(DtSet, SchemaType.Source);
DataTable dt = new DataTable();
dt = DtSet.Tables[0];
MyConnection.Close();
}
但是,导出后的行不像导出前的行那样排序。示例:
原始
row A
row B
row C
row D
导出后
row D
row C
row A
row B
有人能给我建议吗?
谢谢。
您的select中没有"order by"子句;因此不能保证行顺序
在MyCommand
中添加一个"order-by"子句,你就应该很好了。