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表使用心得的更多相关文章

  1. 向MySql数据库导入excel表数据

    最近要开发一个小的答题系统,如果题目人工录入那确实很麻烦.所以想到是不是可以从用一些现有数据格式的文件导入数据.在网上查了一下,看到有关于将excel的数据导入到mysql的方法.所以将题库数据整理成 ...

  2. winfrom 导入Excel表到access数据库(来自小抽奖系统)

    网上有很多这种方法,本人只是针对自己的系统来实现的 //导入excel表 private void ImportTSMenu_Click(object sender, EventArgs e) { O ...

  3. 向ACCESS数据库中的表导入EXCEL表,在 System.Data.OleDb.OleDbException 中第一次偶然出现的“System.Data.dll”类型的异常

    向ACCESS数据库中的表导入EXCEL表,EXCEL表Sheet1中与ACCESS数据库表中的关键字对应的列的值,不能与数据库中表的主键项值重复,不然就会出现 在 System.Data.OleDb ...

  4. 使用phpExcel向mysql数据库导入excel

    使用phpExcel向mysql数据库导入excel from:http://blog.163.com/dustye_l/blog/static/172439513201242491016834/ 使 ...

  5. Access数据库导入到mysql数据库中

    做项目时需要查询手机号归属地的,用网上提供的接口,耗时太长,反应慢,只能自己在网上搜了一个包含所有手机号归属地的Access数据库,导入到自己的mysql数据库中 Access数据库导入到mysql中 ...

  6. c#创建access数据库和数据表

      由于在程序中使用了ADOX,所以先要在解决方案中引用之,方法如下: 解决方案资源管理器(项目名称)-->(右键)添加引用-->COM--> Microsoft ADO Ext. ...

  7. 用SQL语句创建和删除Access数据库中的表;添加列和删除列

    用SQL语句创建和删除Access数据库中的表;添加列和删除列 Posted on 2009-08-11 13:42 yunbo 阅读(1240) 评论(0) 编辑 收藏 用SQL语句创建和删除Acc ...

  8. sql server 创建视图添加表时出现从其他数据库导入的表未显示出来

    创建视图添加表时出现从其他数据库导入的表未显示出来,通过数据库刷新,也不能解决.关闭SQL server management studio 后,再次进入,在创建视图的时候添加表的列表就出现了新导入的 ...

  9. MySQL学习记录(导入Excel表到数据库,并筛选条件输出)

    附上:重置mysql账号密码方法 ubuntu系统下mysql重置密码和修改密码操作 - skh2015java的博客 - CSDN博客(改完重启,登录mysql要root/sudo权限) Cento ...

随机推荐

  1. Spring 入门 web.xml配置详解

    Spring 入门 web.xml配置详解 https://www.cnblogs.com/cczz_11/p/4363314.html https://blog.csdn.net/hellolove ...

  2. MVC ---- ckeditor 循环遍历并绑定blur事件

    function GetFollowList(page) { , pages: page }; pages = JSON.stringify(pages); var datas = { param: ...

  3. circRNA研究手册

    环状RNA(circRNA)研究技术手册.doc.pdf (转自:汉恒生物)

  4. Linux——权限管理命令简单笔记

    首先linux中的权限分为三种rwx 代表字符 权限 对文件的含义 对目录的含义 r 读权限 可以查看文件 内容 (cat, more, head, tail) 可以列出目录中 的内容 (ls) w ...

  5. mysql 开启远程访问

    # vi /etc/mysql/my.cnf修改 bind-address = 127.0.0.1  为  bind-address = 0.0.0.0 修改完成后重启mysql服务 # sudo / ...

  6. django多对多中间表详解

    我们都知道对于ManyToMany字段,Django采用的是第三张中间表的方式.通过这第三张表,来关联ManyToMany的双方.下面我们根据一个具体的例子,详细解说中间表的使用. 一.默认中间表 首 ...

  7. spark必知必会的基本概念

    首先我们从宏观的视角来窥视下大数据技术框架: 图1 大数据技术框架 从图1可以看出,数据源-数据收集-数据存储-资源管理,这是我们进行数据分析和处理的基本;图中的计算框架包括批处理.交互式分析和流处理 ...

  8. 《剑指offer》第十七题(打印1到最大的n位数)

    // 面试题17:打印1到最大的n位数 // 题目:输入数字n,按顺序打印出从1最大的n位十进制数.比如输入3,则 // 打印出1.2.3一直到最大的3位数即999. #include <ios ...

  9. C#判断一个字符串是否全部为空格的一个简单方法

    string nickName = " "; if (nickName.Trim() == string.Empty) { } else { }

  10. Short Encoding of Words

    2018-07-02 09:48:48 问题描述: 问题求解: 方法一.问题给了规模n = 2000,也就是说用BF在O(n^2)的时间复杂度可以过,因此,第一个方法就是BF,但是需要注意的是这里已经 ...