mysql access导出到excel表格_C#实现Access导入导出Excel

这篇博客介绍了如何使用C#将Access数据库中的数据导入和导出到Excel。通过OleDbConnection连接Access数据库和Excel文件,实现了数据的导入(避免重复)和导出操作,涉及的库包括Microsoft.Jet.Oledb.4.0。
摘要由CSDN通过智能技术生成

一、 Access 从 Excel 中 导入 数据 1. 用到的 Excel 表的格式及内容 实现 OleDbConnection con = new OleDbConnection(); try { OpenFileDialog openFile = new OpenFileDialog();//打开文件对话框。 openFile.Filter = ("Excel 文件(*.xls)|*.xls");//后缀

一、Access从Excel中导入数据

1.用到的Excel表的格式及内容

实现

OleDbConnection con = new OleDbConnection();

try

{

OpenFileDialog openFile = new OpenFileDialog();//打开文件对话框。

openFile.Filter = ("Excel 文件(*.xls)|*.xls");//后缀名。

if (openFile.ShowDialog() == DialogResult.OK)

{

string filename = openFile.FileName;

int index = filename.LastIndexOf("//");//截取文件的名字

filename = filename.Substring(index + 1);

conExcel.ConnectionString = "Provider=Microsoft.Jet.Oledb.4.0;Data Source=" +

Application.StartupPath + "//Appdata.mdb";

//将excel导入access

//distinct :删除excel重复的行.

//[excel名].[sheet名] 已有的excel的表要加$

//where not in : 插入不重复的记录。

string sql = "insert into Users2(用户编号,用户姓名) select distinct * from [Excel 8.0;database=" +

filename + "].[name$] where 用户编号 not in (select 用户编号 from Users2) ";

OleDbCommand com = new OleDbCommand(sql, con);

con.Open();

com.ExecuteNonQuery();

MessageBox.Show("导入数据成功", "导入数据", MessageBoxButtons.OK, MessageBoxIcon.Information);

}

}

catch (Exception ex)

{

MessageBox.Show(ex.ToString());

}

finally

{

con.Close();

}

二、Access导出Excel

OleDbConnection con = new OleDbConnection();

try

{

SaveFileDialog saveFile = new SaveFileDialog();

saveFile.Filter = ("Excel 文件(*.xls)|*.xls");//指定文件后缀名为Excel 文件。

if (saveFile.ShowDialog() == DialogResult.OK)

{

string filename = saveFile.FileName;

if (System.IO.File.Exists(filename))

{

System.IO.File.Delete(filename);//如果文件存在删除文件。

}

int index = filename.LastIndexOf("//");//获取最后一个/的索引

filename = filename.Substring(index + 1);//获取excel名称(新建表的路径相对于SaveFileDialog的路径)

//select * into 建立 新的表。

//[[Excel 8.0;database= excel名].[sheet名] 如果是新建sheet表不能加$,如果向sheet里插入数据要加$.

//sheet最多存储65535条数据。

string sql = "select top 65535 * into [Excel 8.0;database=" + filename + "].[用户信息] from Users2";

con.ConnectionString = "Provider=Microsoft.Jet.Oledb.4.0;Data Source=" + Application.StartupPath + "//Appdata.mdb";//将数据库放到debug目录下。

OleDbCommand com = new OleDbCommand(sql, con);

con.Open();

com.ExecuteNonQuery();

MessageBox.Show("导出数据成功", "导出数据", MessageBoxButtons.OK, MessageBoxIcon.Information);

}

}

catch (Exception ex)

{

MessageBox.Show(ex.ToString());

}

finally

{

con.Close();

}

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值