- 第一种导入 需要用到Microsoft.Jet.OLEDB.4.0或者Microsoft.ACE.OLEDB.12.0驱动 如果我没记错的话 如果是BS程序 部署的服务器上有驱动即可 如果CS程序则需要安装程序的客户端有该驱动
/// <summary>
/// 解析EXCEL文件
/// </summary>
/// <param name="FilePath"></param>
/// <returns></returns>
public System.Data.DataSet GetExcelData(string FilePath)
{
try
{
//利用ADO.NET读取Excel信息
System.Data.DataSet myDataSet = new System.Data.DataSet();
OleDbConnection myConn = new OleDbConnection();
if (FilePath.EndsWith("xls") || FilePath.EndsWith("XLS"))
{
myConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + FilePath + ";Extended Properties='Excel 8.0;IMEX=1' ";
}
else if (FilePath.EndsWith("xlsx") || FilePath.EndsWith("XLSX"))
{
myConn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" + FilePath + "; Extended Properties='Excel 12.0 Xml;IMEX=1'";
}
else
{
return null;
}
myConn.Open();
System.Data.DataTable SheetNamedt = myConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
if (SheetNamedt != null)
{
foreach (System.Data.DataRow Row in SheetNamedt.Rows)
{
string strCom = " SELECT * FROM [" + Row["TABLE_NAME"].ToString() + "] ";
OleDbDataAdapter myCommand = new OleDbDataAdapter(strCom, myConn);