OLEDB 读取Excel sheet中文排序问题
- C# code
/// <summary> /// 获取EXCEL的表 表名字列 /// </summary> /// <param name="p_ExcelFile">Excel文件</param> /// <returns>数据表</returns> public static DataTable GetExcelTableName(string p_ExcelFile) { try { if (System.IO.File.Exists(p_ExcelFile)) { OleDbConnection _ExcelConn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=\"Excel 8.0\";Data Source=" + p_ExcelFile + ";Extended Properties=\"Excel 8.0;HDR=YES;IMEX=1\""); _ExcelConn.Open(); DataTable _Table = _ExcelConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "Table" }); _ExcelConn.Close(); return _Table; } return null; } catch { return null; } }
这个方法是得到用户所选Excel文件的所有sheet名称,问题如下:比如有3个sheet ,顺序一次是( 联系人$, sheet2$ ,sheet3$),通过上述方法返回的顺序却是(sheet2$,sheet3$,联系人$),个人理解应该是中文编码的问题,但是一般用户数据都会默认放在第一个sheet即 联系人$这个表中, 而且我读取Excel后需要在表格中默认呈现第一个sheet中的数据,所以这个顺序问题有什么办法解决吗?
[解决办法]
那你就把分收回去