/// <summary> /// 获取Excel文件中指定工作表的列 /// </summary> /// <param name="excelPath"></param> /// <param name="eType"></param> /// <param name="table"></param> /// <returns></returns> public static List <string> GetColumnsList(string excelPath, MdExcelHelper.ExcelType eType, string table) { string excelConnectstring = MdExcelHelper.GetExcelConnectstring(excelPath, true, eType); DataTable readerSchema; using (OleDbConnection oleDbConnection = new OleDbConnection(excelConnectstring)) { oleDbConnection.Open(); readerSchema = MdExcelHelper.GetReaderSchema(table, oleDbConnection); } return((from DataRow dr in readerSchema.Rows let columnName = dr["ColumnName"].ToString() let datatype = ((OleDbType)dr["ProviderType"]).ToString() let netType = dr["DataType"].ToString() select columnName).ToList <string>()); }
/// <summary> /// 返回Excel 连接字符串 /// </summary> /// <param name="excelPath"></param> /// <param name="header"></param> /// <param name="eType"></param> /// <param name="imex"></param> /// <returns></returns> public static string GetExcelConnectstring(string excelPath, bool header, MdExcelHelper.ExcelType eType, MdExcelHelper.IMEXType imex) { if (!MdFileHelper.IsExistFile(excelPath)) { throw new FileNotFoundException("Excel路径不存在!"); } string text = "NO"; if (header) { text = "YES"; } string result; if (eType == MdExcelHelper.ExcelType.Excel2003) { result = string.Concat(new object[] { "Provider=Microsoft.Jet.OleDb.4.0; data source=", excelPath, ";Extended Properties='Excel 8.0; HDR=", text, "; IMEX=", imex.GetHashCode(), "'" }); } else { result = string.Concat(new object[] { "Provider=Microsoft.ACE.OLEDB.12.0; data source=", excelPath, ";Extended Properties='Excel 12.0 Xml; HDR=", text, "; IMEX=", imex.GetHashCode(), "'" }); } return(result); }
/// <summary> /// 返回Excel工作表名 /// </summary> /// <param name="excelPath"></param> /// <param name="eType"></param> /// <returns></returns> public static List <string> GetExcelTablesName(string excelPath, MdExcelHelper.ExcelType eType) { string excelConnectstring = MdExcelHelper.GetExcelConnectstring(excelPath, true, eType); return(MdExcelHelper.GetExcelTablesName(excelConnectstring)); }
/// <summary> /// 返回Excel 连接字符串 [IMEX=1] /// </summary> /// <param name="excelPath"></param> /// <param name="header"></param> /// <param name="eType"></param> /// <returns></returns> public static string GetExcelConnectstring(string excelPath, bool header, MdExcelHelper.ExcelType eType) { return(MdExcelHelper.GetExcelConnectstring(excelPath, header, eType, MdExcelHelper.IMEXType.ImportMode)); }
/// <summary> /// EXCEL所有工作表导入DataSet /// </summary> /// <param name="excelPath"></param> /// <param name="header"></param> /// <param name="eType"></param> /// <returns></returns> public static DataSet ExcelToDataSet(string excelPath, bool header, MdExcelHelper.ExcelType eType) { string excelConnectstring = MdExcelHelper.GetExcelConnectstring(excelPath, header, eType); return(MdExcelHelper.ExcelToDataSet(excelConnectstring)); }
/// <summary> /// 返回Excel第一个工作表表名 /// </summary> /// <param name="excelPath"></param> /// <param name="eType"></param> /// <returns></returns> public static string GetExcelFirstTableName(string excelPath, MdExcelHelper.ExcelType eType) { string excelConnectstring = MdExcelHelper.GetExcelConnectstring(excelPath, true, eType); return(MdExcelHelper.GetExcelFirstTableName(excelConnectstring)); }