提示:自用方法记录,结尾有完整方法
前言
通过OleDbConnection类对文件进行操作
OleDbConneetion是ADO.NET提供的支持OLE DB类型数据库连接的类,Access、Excel
链接: 详细内容大家可以在官网查看
二、使用步骤
1.添加引用
代码如下(示例
using System.Data.OleDb;
2.创建OpenFileDialog对象
选择文件
代码如下(示例):
OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "Excel 文件|*.xlsx;*.xls";
ofd.Title = "选择要导入的Excel文件";
3.用户选择路径后获取数据
①提示用户选择文件路径
②创建OleDbConnection对象链接
③查询数据并保存到DataTable中
代码如下(示例):
// 显示对话框并获取用户选择的文件路径
if (ofd.ShowDialog() == DialogResult.OK)
{
string filePath = ofd.FileName;
// 创建OleDbConnection对象并连接到Excel文件
string connectionString = $"Provider=Microsoft.ACE.OLEDB.19.0;Data Source={filePath};Extended Properties='Excel 12.0 Xml;HDR=YES;'";
OleDbConnection connection = new OleDbConnection(connectionString);
connection.Open();
// 创建OleDbCommand对象并查询第一个工作表的数据
string query = "SELECT * FROM [Sheet1$]";
OleDbCommand command = new OleDbCommand(query, connection);
OleDbDataAdapter adapter = new OleDbDataAdapter(command);
// 将数据填充到DataTable中
adapter.Fill(dt);
// 关闭连接
connection.Close();
MessageBox.Show("导入完成");
}
完整代码
DataTable dt = new DataTable();
public void LoadExcelToDataTable()
{
// 创建OpenFileDialog对象
OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "Excel 文件|*.xlsx;*.xls";
ofd.Title = "选择要导入的Excel文件";
// 显示对话框并获取用户选择的文件路径
if (ofd.ShowDialog() == DialogResult.OK)
{
string filePath = ofd.FileName;
// 创建OleDbConnection对象并连接到Excel文件
string connectionString = $"Provider=Microsoft.ACE.OLEDB.19.0;Data Source={filePath};Extended Properties='Excel 12.0 Xml;HDR=YES;'";
OleDbConnection connection = new OleDbConnection(connectionString);
connection.Open();
// 创建OleDbCommand对象并查询第一个工作表的数据
string query = "SELECT * FROM [Sheet1$]";
OleDbCommand command = new OleDbCommand(query, connection);
OleDbDataAdapter adapter = new OleDbDataAdapter(command);
// 将数据填充到DataTable中
adapter.Fill(dt_u9);
// 关闭连接
connection.Close();
MessageBox.Show("导入完成");
}
}