C#读取excel并保存到Oracle数据库
来源:互联网 发布:槟榔淘宝店铺怎么装修 编辑:程序博客网 时间:2024/06/04 17:42
前几天要做一个功能,设计到c#方面的知识,但是在之前从没有学习过c#,顶多也就是之前上大学的时候学过一点基础,但是现在已经全都忘了。于是各种谷歌,找了很多方面的东西,但是都是残缺不全,找了很久,最后还是解决了这个问题,实现了功能,所以最后准备记录下来防止以后再次使用的时候忘记,可以到时候拿出来看看。
首先c#连接数据库,我这边使用的是Oracle 11g的数据库,使用OracleConnection来连接,需要安装Oracle的客户端,并且在程序中引入 System.Data.OracleClient; 。下面的就是c#连接Oracle的代码:
try { //1,创建Oracle的连接对象 OracleConnection oc = new OracleConnection("Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=XE)));User Id=amls;Password=amls;"); oc.Open(); }catch(Exception ex){ MessageBox.Show("error: "+ex.Message); } MessageBox.Show("数据库连接成功!");注: c#连接Oracle数据库的时候,可能会出现 “ 未找到oracle客户端和网络组件 ” 的错误提示,出现这个错误的解决方案就是: 需要安装Oracle 的客户端( 因为只能上传70M的资源文件,所以文件上传不了,没办法了……,自己搜索一下 win32_11gR2_client.zip ); 安装了OracleClient之后,数据库的连接就正常了;
数据库连接好了,下面开始说一下C#读取excel文档: (大致界面是这样的)
当点击 " 数据导入 "按钮的时候,会开始触发事件,读取Excel文档并将读取的数据保存在 DataSet 集合,然后在保存到Oracle数据库中。首先来看看当点击 " 选择文件 "按钮的时候触发的事件代码:
OpenFileDialog openFiledialog1 = new OpenFileDialog(); openFiledialog1.Filter = "Excel文件|*.xls"; openFiledialog1.ShowDialog(); textBox1.Text = openFiledialog1.FileName;
点击 “ 数据导入 ” 按钮的时候所触发的事件代码:
DataSet dts = LoadDataFromExcel(textBox1.Text); if(dts==null){ MessageBox.Show("数据为空!"); }else{ MessageBox.Show("数据不为空!"); addData(dts); }
public DataSet LoadDataFromExcel(string filePath) { try { string strConn; strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties='Excel 8.0;HDR=False;IMEX=1'"; OleDbConnection OleConn = new OleDbConnection(string.Format(strConn)); OleConn.Open(); String sql = "SELECT * FROM [Sheet1$]";//可是更改Sheet名称,比如sheet2,等等 OleDbDataAdapter OleDaExcel = new OleDbDataAdapter(sql, OleConn); DataSet OleDsExcle = new DataSet(); OleDaExcel.Fill(OleDsExcle, "Sheet1"); OleConn.Close(); return OleDsExcle; } catch (Exception err) { MessageBox.Show("数据绑定Excel失败!失败原因:" + err.Message, "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information); return null; } } public void addData(DataSet obj){ try { string strConnect = "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=XE)));User Id=amls;Password=amls;"; //string strConnect = "Provider=MSDATASHAPE;Data Provider=OraOLEDB.Oracle;Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=XE)));User Id=amls;Password=amls;"; OracleConnection dbConn = new OracleConnection(strConnect); dbConn.Open(); foreach (DataTable dt in obj.Tables) //MyDataSet是自已定义并已赋值的DataSet对象。 { foreach (DataRow dr in dt.Rows) ///遍历所有的行 { string sql = string.Format("INSERT INTO aml_blacklist_new(id,BATGROUPID,CTNM,YTNM,SCAC,CTID,SUS_ACTER,TYPE_DIS) VALUES(seq_aml_blacklist_new.nextval," + Convert.ToInt32(dr["编号"]) + ",'" + dr["中文名称"] + "','" + dr["英文名称"] + "','" + dr["基金账号"] + "','" + dr["证件号码"] + "','" + dr["可疑特征"] + "','" + dr["披露类型"] + "')"); MessageBox.Show(sql); OracleCommand aCommand = new OracleCommand(sql, dbConn); aCommand.ExecuteNonQuery(); } } MessageBox.Show("成功了!"); dbConn.Close(); } catch (Exception e){ MessageBox.Show(e.Message); } }
以上代码就是 c#读取excel并保存到Oracle 11g的数据库的功能代码,希望这个代码可以帮助到需要帮助的人,另如果在实践的过程中有什么错误,可以在评论中留言,我会及时回复的! 我已经把这个Demo 例子给上传到网络上了,大家不懂的话也可以进行下载看看源码 ( c#读取excel并保存到Oracle 11g )
未找到oracle客户端和网络 “
1 0
- C#读取excel并保存到Oracle数据库
- java读取Excel数据,然后写入到txt文件,并批量保存到oracle数据库中
- GridView读取EXCEl并保存到数据库中
- 读取 Excel 数据并保存到服务器数据库
- 使用POI读取EXCEL并保存到数据库
- c# + extjs 上传excel文件并保存到数据库
- C#将图片保存到数据库字段并反向读取
- C#学习笔记:c# 从EXCEL 读取信息并保存到dataset中
- 读取Excel数据,保存到数据库
- Matlab读取Access数据库保存到Excel
- c# 图片保存到数据库和从数据库读取图片并显示
- java读取数据库并导出到Excel
- 上传EXCEL文件并读取到数据库
- C# web 读取excel并导入数据库
- 读取excel保存数据库
- 读取excel文档保存服务器并上传到…
- 使用python读取.txt文件并保存到Excel中
- C# 读取Excel文件 并保存为html文件
- QT 控件和ID绑定 QObjectUserData
- iOS开发之 线程安全机制
- 排序算法总结
- Spring策略模式
- 小白对于unity一些机制的探索(一)
- C#读取excel并保存到Oracle数据库
- 修饰符的概述和总结
- Android入门:封装一个HTTP请求的辅助类
- spring中配置log4j
- 探亲感想(沂蒙山区的变化)之2016(春节)
- DWR框架的初步使用-第一个DWR程序
- 手机游戏遭打包党大肆篡改吸费 广告插件泛滥成灾
- hibernate使用addScalar方法
- Android:Activity+Fragment及它们之间的数据交换(一)