C# winform 编程 向ACCESS数据库导入EXCEL表使用心得
- public string MyConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=ErLake.mdb";
- /// <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;
- }
- }
- private void button2_Click(object sender, EventArgs e)
- {
- if (textBox1.Text.Length == )
- {
- 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 > )
- {
- for (int i = ; i < dt.Rows.Count; i++)
- {
- //写入数据库数据
- // string MySql = "insert into 洱海各月出流流量 values('" + dt.Rows[i]["年"].ToString() + "','" + dt.Rows[i]["一月"].ToString()+ "','0','" + dt.Rows[i]["备注"].ToString() + "','0','" + i.ToString() + "')";
- string MySql = "insert into 洱海各月出流流量 values('" + dt.Rows[i]["年"].ToString() + "','" +
- dt.Rows[i]["一月"].ToString() + "','" +
- dt.Rows[i]["二月"].ToString() + "','" +
- dt.Rows[i]["三月"].ToString() + "','" +
- dt.Rows[i]["四月"].ToString() + "','" +
- dt.Rows[i]["五月"].ToString() + "','" +
- dt.Rows[i]["六月"].ToString() + "','" +
- dt.Rows[i]["七月"].ToString() + "','" +
- dt.Rows[i]["八月"].ToString() + "','" +
- dt.Rows[i]["九月"].ToString() + "','" +
- dt.Rows[i]["十月"].ToString() + "','" +
- dt.Rows[i]["十一月"].ToString() + "','" +
- dt.Rows[i]["十二月"].ToString() + "','" +
- dt.Rows[i]["全年平均"].ToString() + "')";
- 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(MyConnectionString);
- conn.Open();
- OleDbCommand comm = new OleDbCommand();
- comm.Connection = conn;
- comm.CommandText = sql;
- comm.ExecuteNonQuery();
- comm.Connection.Close();
- conn.Close();
- return true;
- }
- catch
- {
- return false;
- }
- }
- }
上面这段代码可以向ACCESS数据库表中导入EXCEL表,但是有个问题:导入数据后,查询数据表的数据发现新导入的数据出现在查询结果的前面,这不是我想要的,怎么办呢,我就采用字段升序排序的方式解决该问题!结果证明是有效的!
- string MySQL = "Select * from 洱海各月出流流量 order by 年 asc";
C# winform 编程 向ACCESS数据库导入EXCEL表使用心得的更多相关文章
- 向MySql数据库导入excel表数据
最近要开发一个小的答题系统,如果题目人工录入那确实很麻烦.所以想到是不是可以从用一些现有数据格式的文件导入数据.在网上查了一下,看到有关于将excel的数据导入到mysql的方法.所以将题库数据整理成 ...
- winfrom 导入Excel表到access数据库(来自小抽奖系统)
网上有很多这种方法,本人只是针对自己的系统来实现的 //导入excel表 private void ImportTSMenu_Click(object sender, EventArgs e) { O ...
- 向ACCESS数据库中的表导入EXCEL表,在 System.Data.OleDb.OleDbException 中第一次偶然出现的“System.Data.dll”类型的异常
向ACCESS数据库中的表导入EXCEL表,EXCEL表Sheet1中与ACCESS数据库表中的关键字对应的列的值,不能与数据库中表的主键项值重复,不然就会出现 在 System.Data.OleDb ...
- 使用phpExcel向mysql数据库导入excel
使用phpExcel向mysql数据库导入excel from:http://blog.163.com/dustye_l/blog/static/172439513201242491016834/ 使 ...
- Access数据库导入到mysql数据库中
做项目时需要查询手机号归属地的,用网上提供的接口,耗时太长,反应慢,只能自己在网上搜了一个包含所有手机号归属地的Access数据库,导入到自己的mysql数据库中 Access数据库导入到mysql中 ...
- c#创建access数据库和数据表
由于在程序中使用了ADOX,所以先要在解决方案中引用之,方法如下: 解决方案资源管理器(项目名称)-->(右键)添加引用-->COM--> Microsoft ADO Ext. ...
- 用SQL语句创建和删除Access数据库中的表;添加列和删除列
用SQL语句创建和删除Access数据库中的表;添加列和删除列 Posted on 2009-08-11 13:42 yunbo 阅读(1240) 评论(0) 编辑 收藏 用SQL语句创建和删除Acc ...
- sql server 创建视图添加表时出现从其他数据库导入的表未显示出来
创建视图添加表时出现从其他数据库导入的表未显示出来,通过数据库刷新,也不能解决.关闭SQL server management studio 后,再次进入,在创建视图的时候添加表的列表就出现了新导入的 ...
- MySQL学习记录(导入Excel表到数据库,并筛选条件输出)
附上:重置mysql账号密码方法 ubuntu系统下mysql重置密码和修改密码操作 - skh2015java的博客 - CSDN博客(改完重启,登录mysql要root/sudo权限) Cento ...
随机推荐
- List<T>随机返回一个
/// <summary> /// 随机返回一条数据 /// </summary> /// <param name="list"></pa ...
- c++ 查找容器中符合条件的元素,并返回iterator(find_if)
#include <iostream> // std::cout #include <algorithm> // std::find_if #include <vecto ...
- vscode python3 配置生成任务
一直用sublime,但是ubuntu下输入中文有问题,解决起来太麻烦: pycharm太重.虚拟机一开+Chrome打开10几个页面,然后再运行pycharm,静音轻薄笔记本CPU和8G内存基本都占 ...
- MySQL函数GROUP_CONCAT() 实现多条数据合并
group_concat()会计算哪些行属于同一组,将属于同一组的列显示出来,group by指定的列进行分组. 例如: -- 根据物流订单id查询所有物流订单,车源订单,车辆信息(多条数据合并为一条 ...
- telnet 命令使用方法详解,telnet命令怎么用?
什么是Telnet? 对于Telnet的认识,不同的人持有不同的观点,可以把Telnet当成一种通信协议,但是对于入侵者而言,Telnet只是一种远程登录的工具.一旦入侵者与远程主机建立了Telnet ...
- Linux 设置程序开机自启动 (命令systemctl 和 chkconfig用法区别比较)
之前在Linux centos 7 上安装了apache 和mysql,当时并没有设置开机自动启动. 最近又重新练习网页,每次开机总是要手动启动httpd和mysqld,不方便,就想设置成开机自动启动 ...
- 如何配置Smarty模板
<?php //首先包含Smarty类文件 include_once('Smarty/Smarty.class.php'); //实例化Smarty类文件 $smarty=new Smarty( ...
- tryparse
[C#笔札]Tryparse的用法 这是参考读物的上得一个例子.自己仿照做的作业 private void button1_Click(object sender, EventArgs e) { ...
- English trip -- Phonics 5 元音字母 o
Vowel 元音 元音 O Consonant 辅音 清辅音 h wh 浊辅音 m wh n ng y oa:[əʊ] # 字母本身音 coat boat load co ...
- Queue CodeForces - 353D (思维dp)
https://codeforces.com/problemset/problem/353/D 大意:给定字符串, 每一秒, 若F在M的右侧, 则交换M与F, 求多少秒后F全在M左侧 $dp[i]$为 ...