1、OLEDB介绍
https://www.cnblogs.com/moss_tan_jun/archive/2012/07/28/2612889.html
2、连接字符串
老版本
"Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + fileName + ";" + ";Extended Properties=\"Excel 8.0;HDR=YES;IMEX=1\"";
新版本
"Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + fileName + ";" + ";Extended Properties=\"Excel 12.0;HDR=YES;IMEX=1\"";
3、Excel操作
脚本示例:
using System;
using System.Data;
using System.Data.OleDb;
/*
* Json操作
* 2020/4/15
* 引用System.Data.OleDb、System.Data
*/
namespace Excel操作
{
class Program
{
static void Main(string[] args)
{
string fileName = "装备信息.xls";
string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source="
+ fileName + ";" + ";Extended Properties=\"Excel 8.0;HDR=YES;IMEX=1\"";
//创建连接到数据源的对象
OleDbConnection connerction = new OleDbConnection(connectionString);
//打开连接
connerction.Open();
string sql = "select*from[Sheet1$"; //这是一个查询命令
OleDbDataAdapter adapter = new OleDbDataAdapter(sql,connerction);
//用来存放数据,用来存放DataTable
DataSet dataSet = new DataSet();
//表示把查询的结果(datatable)放到(填充)dataset里面
adapter.Fill(dataSet);
connerction.Close(); //关闭连接
//取得数据
DataTableCollection tableCollection = dataSet.Tables; //获取当前集合中所有的表格
//因为我们只往dataSet里面放置了一张表格,所以这里取得索引为0的表格就是我们刚刚查询到的表格
DataTable table = tableCollection[0];
//取得表格中数据
//取得table中所有的行
DataRowCollection rowCollection = table.Rows; //返回了一个行的集合
foreach(DataRow row in rowCollection)
{
//取得row中前8列的数据 索引0-7
for(int i = 0; i < 8; i++)
{
Console.Write(row[i] + "");
}
}
Console.ReadKey();
}
}
}