C# 使用 OleDbConnection 连接读取Excel的方法
class Program
{
//函数用来读取一个excel文件到DataSet集中
public static DataSet ExcelToDataSet(string filename, string tableName)
{
//获取文件扩展名
string strExtension = System.IO.Path.GetExtension(filename);
OleDbConnection myConn = null;
switch (strExtension)
{
case ".xls":
myConn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filename + ";" + "Extended Properties="Excel 8.0;HDR=yes;IMEX=1;"");
break;
case ".xlsx":
myConn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filename + ";" + "Extended Properties="Excel 12.0;HDR=yes;IMEX=1;"");
//此连接可以操作.xls与.xlsx文件 (支持Excel2003 和 Excel2007 的连接字符串)
//"HDR=yes;"是说Excel文件的第一行是列名而不是数,"HDR=No;"正好与前面的相反。"IMEX=1 "如果列中的数据类型不一致,使用"IMEX=1"可必免数据类型冲突。
break;
default:
myConn = null;
break;
}
if (myConn == null)
{
return null;
}
string strCom = " SELECT * FROM ["+ tableName + "$]";
myConn.Open();
//获取Excel指定Sheet表中的信息
OleDbDataAdapter myCommand = new OleDbDataAdapter(strCom, myConn);
DataSet ds;
ds = new DataSet();
myCommand.Fill(ds, tableName);
myConn.Close();
return ds;
}
static void Main(string[] args)
{
var tablename = "sheet1";
//括号中为表格地址
DataSet ds = ExcelToDataSet("D:get.xls", tablename);
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
string str = ds.Tables[tablename].Rows[i]["价格"].ToString(); //Rows[i]["col1"]表示i行"col1"字段
Console.WriteLine(str);
}
Console.WriteLine("正确执行...");
Console.ReadKey();
}
}
- .NET Core系列之MemoryCache 初识
- 007手机一键Root(安机网一键Root) v3.0 官方最新版 一键ROOT您的Android手机
- 12306密码被盗了怎么办?12306密码外泄解决方法
- 12个字的qq网名
- 150M迷你型无线路由器怎么设置?
- 192.168.1.1打不开怎么办?路由器192.168.1.1打不开的原因以及解决办法
- 2011年电子报合订本 电子报 编辑部 中文 PDF版 [84M]
- 2015年1月15日小米新旗舰发布会现场图文直播
- 2016.3.1vivo Xplay5新品发布会现场视频直播 优酷直播
- 2016华为P9发布会视频直播地址 4月15日华为P9国行发布会直播