C# Excel 导入到 Access数据库表(winForm版)
2010-03-19 18:51
429 查看
直接贴代码吧。
/// <summary>
/// 获取Excel文件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog dlg = new OpenFileDialog();
dlg.Filter = "Excel文件(*.xls)|*.xls";
if (dlg.ShowDialog() == DialogResult.OK)
{
string filePath = dlg.FileName;
this.textBox1.Text = filePath;
}
}
/// <summary>
/// 导入Excel文件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button2_Click(object sender, EventArgs e)
{
if (textBox1.Text.Length == 0)
{
MessageBox.Show("请选择导入数据的Execl文件");
}
else
{
try
{
OleDbConnectionStringBuilder connectStringBuilder = new OleDbConnectionStringBuilder();
connectStringBuilder.DataSource = this.textBox1.Text.Trim();
connectStringBuilder.Provider = "Microsoft.Jet.OLEDB.4.0";
connectStringBuilder.Add("Extended Properties", "Excel 8.0");
using (OleDbConnection cn = new OleDbConnection(connectStringBuilder.ConnectionString))
{
DataSet ds = new DataSet();
string sql = "Select * from [Sheet1$]";
OleDbCommand cmdLiming = new OleDbCommand(sql, cn);
cn.Open();
using (OleDbDataReader drLiming = cmdLiming.ExecuteReader())
{
ds.Load(drLiming, LoadOption.OverwriteChanges, new string[] { "Sheet1" });
DataTable dt = ds.Tables["Sheet1"];
if (dt.Rows.Count > 0)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
//写入数据库数据
string MySql = "insert into ClientInfo values('"+dt.Rows[i]["姓名"].ToString()+"','"+dt.Rows[i]["姓名"].ToString()
+"','0','"+dt.Rows[i]["备注"].ToString()+"','0','"+i.ToString()+"')";
new DataAccess().SQLExecute(MySql);
}
MessageBox.Show("数据导入成功!");
}
else
{
MessageBox.Show("请检查你的Excel中是否存在数据");
}
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
}
/// <summary>
/// 数据操作通用类
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public bool SQLExecute(string sql)
{
try
{
OleDbConnection conn = new OleDbConnection(CONNECT_STRING);
conn.Open();
OleDbCommand comm = new OleDbCommand ();
comm.Connection = conn;
comm.CommandText = sql;
comm.ExecuteNonQuery();
comm.Connection.Close();
conn.Close();
return true;
}
catch
{
return false;
}
}
/// <summary>
/// 获取Excel文件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog dlg = new OpenFileDialog();
dlg.Filter = "Excel文件(*.xls)|*.xls";
if (dlg.ShowDialog() == DialogResult.OK)
{
string filePath = dlg.FileName;
this.textBox1.Text = filePath;
}
}
/// <summary>
/// 导入Excel文件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button2_Click(object sender, EventArgs e)
{
if (textBox1.Text.Length == 0)
{
MessageBox.Show("请选择导入数据的Execl文件");
}
else
{
try
{
OleDbConnectionStringBuilder connectStringBuilder = new OleDbConnectionStringBuilder();
connectStringBuilder.DataSource = this.textBox1.Text.Trim();
connectStringBuilder.Provider = "Microsoft.Jet.OLEDB.4.0";
connectStringBuilder.Add("Extended Properties", "Excel 8.0");
using (OleDbConnection cn = new OleDbConnection(connectStringBuilder.ConnectionString))
{
DataSet ds = new DataSet();
string sql = "Select * from [Sheet1$]";
OleDbCommand cmdLiming = new OleDbCommand(sql, cn);
cn.Open();
using (OleDbDataReader drLiming = cmdLiming.ExecuteReader())
{
ds.Load(drLiming, LoadOption.OverwriteChanges, new string[] { "Sheet1" });
DataTable dt = ds.Tables["Sheet1"];
if (dt.Rows.Count > 0)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
//写入数据库数据
string MySql = "insert into ClientInfo values('"+dt.Rows[i]["姓名"].ToString()+"','"+dt.Rows[i]["姓名"].ToString()
+"','0','"+dt.Rows[i]["备注"].ToString()+"','0','"+i.ToString()+"')";
new DataAccess().SQLExecute(MySql);
}
MessageBox.Show("数据导入成功!");
}
else
{
MessageBox.Show("请检查你的Excel中是否存在数据");
}
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
}
/// <summary>
/// 数据操作通用类
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public bool SQLExecute(string sql)
{
try
{
OleDbConnection conn = new OleDbConnection(CONNECT_STRING);
conn.Open();
OleDbCommand comm = new OleDbCommand ();
comm.Connection = conn;
comm.CommandText = sql;
comm.ExecuteNonQuery();
comm.Connection.Close();
conn.Close();
return true;
}
catch
{
return false;
}
}
相关文章推荐
- 【转】C# Excel 导入到 Access数据库表(winForm版)
- C# Excel 导入到 Access数据库表(winForm版)
- C#开发——winform中将Excel数据导入DataGridView
- Excel导入Oracle数据库C#winform完整代码
- C# WINFORM Excel 导入导出 类
- Excel导入Oracle数据库C#winform完整代码
- C#数据导入/导出Excel文件及winForm导出Execl总结
- excel 导入导出access数据库(winform)
- excel 导入导出access数据库(winform)
- winform导入excel到access数据库中
- C# winform 导出导入Excel/Doc 完整实例教程 使用Aspose.Cells.dll——第一篇
- C# winform 导出导入Excel/Doc 完整实例教程 使用Aspose.Cells.dll——第三篇
- C# winform 编程 向ACCESS数据库导入EXCEL表使用心得
- C#数据库数据导入导出系列之四 WinForm数据库导入导出到Excel
- C#--winForm项目核心模块--Excel导入数据
- c#将datagridview中的数据导入到Excel中(winForm)
- winform导入excel到access数据库中
- c#.net 使用NPOI导入导出标准Excel (asp.net winform csharp)
- C# winform DataGridView导出数据到Excel中,可以导出当前页和全部数据;从Excel导入到DataGridView[转http://yuunagi.blogbus.com/logs/38361242.html]
- C#winform多个03Excel导入SQL数据库部分代码