| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- using System;
- using System.Reflection;
- using System.Collections;
- using System.Resources;
- using System.Windows.Forms;
- using System.Data;
- using Excel = Microsoft.Office.Interop.Excel;
- using System.Collections.Generic;
- using System.Data.OleDb;
- namespace Core.StlMes.Client.Sale.Util
- {
- public class UtilExcel
- {
- public static string GetExcelFileName()
- {
- OpenFileDialog openFileDialog = new OpenFileDialog();
- openFileDialog.InitialDirectory = @"C:\桌面\"; //指定打开文件默认路径
- openFileDialog.Filter = "Excel文件(*.xlsx;*.xls)|*.xlsx;*.xls"; //指定打开默认选择文件类型名
- openFileDialog.RestoreDirectory = true;
- openFileDialog.FilterIndex = 1;
- if (openFileDialog.ShowDialog() == DialogResult.OK)
- {
- return openFileDialog.FileName;
-
- }
- return "";
- }
- public static DataSet ToDataSet(string filePath)
- {
- string connStr = "";
- string fileType = System.IO.Path.GetExtension(filePath);
- if (string.IsNullOrEmpty(fileType)) return null;
- if (fileType == ".xls")
- connStr = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + filePath + ";" + ";Extended Properties=\"Excel 8.0;HDR=YES;IMEX=1\"";
- else
- connStr = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + filePath + ";" + ";Extended Properties=\"Excel 12.0;HDR=YES;IMEX=1\"";
- string sql_F = "Select * FROM [{0}]";
- OleDbConnection conn = null;
- OleDbDataAdapter da = null;
- DataTable dtSheetName = null;
- DataSet ds = new DataSet();
- try
- {
- // 初始化连接,并打开
- conn = new OleDbConnection(connStr);
- conn.Open();
- // 获取数据源的表定义元数据
- string SheetName = "";
- dtSheetName = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });
- // 初始化适配器
- da = new OleDbDataAdapter();
- for (int i = 0; i < dtSheetName.Rows.Count; i++)
- {
- SheetName = (string)dtSheetName.Rows[i]["TABLE_NAME"];
- if (SheetName.Contains("$") && !SheetName.Replace("'", "").EndsWith("$"))
- {
- continue;
- }
- da.SelectCommand = new OleDbCommand(String.Format(sql_F, SheetName), conn);
- DataSet dsItem = new DataSet();
- da.Fill(dsItem, SheetName);
- // Only Get the first sheet data
- ds.Tables.Add(dsItem.Tables[0].Copy());
- break;
- }
- }
- catch (Exception ex)
- {
- }
- finally
- {
- // 关闭连接
- if (conn.State == ConnectionState.Open)
- {
- conn.Close();
- da.Dispose();
- conn.Dispose();
- }
- }
- return ds;
- }
-
- }
- }
|