C# DataSet导入导出Execl Step by Step
近日项目需要,所以研究了下Execl的导入导出
该项目因为从一个Execl的数据进行计算产生另一个Execl,所以我并没有使用数据库。 --ps:貌似Execl也是一种数据库啦!囧~
首先,导入Execl到DataSet
导入我选择了OLEDB连接方式
第一步 记着引用命名空间
System.Data.OleDb;
接下来连接Execl
代码
try
{
//利用OleDbConnectionStringBuilder对象来构建连接字符串.
OleDbConnectionStringBuilder connectionStringBuilder = new OleDbConnectionStringBuilder();
connectionStringBuilder.DataSource = @"" + textBox1.Text; //textBox1.Text用户选择要导入的Execl文件路径+文件名
connectionStringBuilder.Provider = "Microsoft.Jet.OLEDB.4.0";
connectionStringBuilder.Add("Extended Properties", "Excel 8.0");
using (OleDbConnection cn = new OleDbConnection(connectionStringBuilder.ConnectionString))
{
ds = new DataSet();
OleDbCommand omd = new OleDbCommand(string.Format("select * from [{0}]", comboBox1.Text), cn);
OleDbDataAdapter oda = new OleDbDataAdapter(omd);
oda.Fill(ds);
dataGridView1.DataSource = ds.Tables[0];
}
}
catch (Exception)
{
MessageBox.Show("连接Excel发生异常,请检查后台代码!");
}
{
//利用OleDbConnectionStringBuilder对象来构建连接字符串.
OleDbConnectionStringBuilder connectionStringBuilder = new OleDbConnectionStringBuilder();
connectionStringBuilder.DataSource = @"" + textBox1.Text; //textBox1.Text用户选择要导入的Execl文件路径+文件名
connectionStringBuilder.Provider = "Microsoft.Jet.OLEDB.4.0";
connectionStringBuilder.Add("Extended Properties", "Excel 8.0");
using (OleDbConnection cn = new OleDbConnection(connectionStringBuilder.ConnectionString))
{
ds = new DataSet();
OleDbCommand omd = new OleDbCommand(string.Format("select * from [{0}]", comboBox1.Text), cn);
OleDbDataAdapter oda = new OleDbDataAdapter(omd);
oda.Fill(ds);
dataGridView1.DataSource = ds.Tables[0];
}
}
catch (Exception)
{
MessageBox.Show("连接Excel发生异常,请检查后台代码!");
}
在项目中为了让用户选择不同的Sheet表,所以就读取Execl中的Sheet了。
补充:软件开发 , C# ,