咔片PPT · AI自动生成演示文稿,模板丰富、排版精美 讯飞智文 · 一键生成PPT和Word,高效应对学习与办公

///

/// 读取Excel文件数据

///

///

/// 数据集

public DataTable GetDataFromExcelByConn(bool hasTitle = false)

{

////实例化选择文件对话框

OpenFileDialog openFile = new OpenFileDialog();

openFile.Multiselect = true;

openFile.Title = "请选择文件";

openFile.Filter = "Excel(*.xlsx)|*.xlsx|Excel(*.xls)|*.xls";

openFile.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);

openFile.Multiselect = false;

if (openFile.ShowDialog() == DialogResult.Cancel)

{

return null;

}

string filePath = openFile.FileName;

string fileType = System.IO.Path.GetExtension(filePath);

if (string.IsNullOrEmpty(fileType))

{

return null;

}

using (DataSet ds = new DataSet())

{

string strCon = string.Format("Provider=Microsoft.ACE.OLEDB.{0}.0;" +

"Extended Properties="Excel {1}.0;HDR={2};IMEX=1;";" +

"data source={3};",

(fileType == ".xls" ? 4 : 12), (fileType == ".xls" ? 8 : 12), (hasTitle ? "Yes" : "NO"), filePath);

string strCom = " SELECT * FROM [Sheet1$]";

using (OleDbConnection myConn = new OleDbConnection(strCon))

using (OleDbDataAdapter myCommand = new OleDbDataAdapter(strCom, myConn))

{

myConn.Open();

myCommand.Fill(ds);

}

if (ds == null || ds.Tables.Count <= 0)

{

return null;

}

return ds.Tables[0];

}