C#excel数据导入DataGridView第一行数据变成标题处理方法

原创 2013年12月03日 09:54:50
首先要添加Microsoft.Office.Interop.Excel  动态库的引用(看你自己现在的版本)



然后添加一个Button按钮  添加一个DataGridView
双击Button生成单击事件 代码如下


定义一个全局的 DataTable
DataTable  dt = new DataTable();

private void button1_Click(object sender, EventArgs e)
        {
            System.Windows.Forms.OpenFileDialog fd = new OpenFileDialog();
            //打开多个文件true  打开一个文件false
            //ofdLightning.Multiselect = true;
            if (fd.ShowDialog() == DialogResult.OK)
            {
                //把文件的路径保存 并调用bind方法
                string fileName = fd.FileName; bind(fileName);
                
                this.label2.Text = fileName;
            } 
        }

       //读取Excel文件
        private void bind(string fileName) {

            string strConn = "Provider=Microsoft.ACE.OLEDB.12.0;" + 

                 "Data Source=" + fileName + ";" + 

                 "Extended Properties='Excel 12.0;HDR=Yes;IMEX=1'";
            //读取Excel文件的 sheet1页面
            OleDbDataAdapter da = new OleDbDataAdapter("SELECT *  FROM     [Sheet1$]", strConn); 


            DataSet ds = new DataSet(); 

            try 

            {

                da.Fill(ds, "DATA");
               
                dt = ds.Tables["DATA"];
                //把读取的数据放入dataGridView1中
                this.dataGridView1.DataSource = dt;


            } 

            catch (Exception err) 

            { 

                MessageBox.Show("操作失败!"+err.ToString()); 

            } 
好的  我们先运行下看下效果

报错 为什么呢  sheet1不是一个有效的名称
看前面的代码   OleDbDataAdapter da = new OleDbDataAdapter("SELECT *  FROM     [Sheet1$]", strConn); 
看红色的   我们访问的是sheet1页面
我打开我们访问的Excel文件

我突然豁然开朗 Excel名称不对  我马上修改成sheet1 
我们在运行 看下效果

最起码我们把Excel数据读取到DataGridView中了  
仔细一个发现一个重要的文件
第一行的数据怎么变成标题了
然后我们回到之前的bind方法
string strConn = "Provider=Microsoft.ACE.OLEDB.12.0;" + 

                 "Data Source=" + fileName + ";" + 

                 "Extended Properties='Excel 12.0;HDR=Yes;IMEX=1'";
HDR=Yes是什么意思?
不懂是什么意思 百度找了下  才知道
HDR=Yes,这代表第一行是标题,不做为数据使用 
如果用HDR=No,则表示第一行不是标题,做为数据来使用
我马上把HDR修改成HDR=No
然后我们在来运行下看下效果

这才是我们想要的结果
当然 标题自己也可以修改 
看自己的需要了



  本人刚毕业   
非常菜鸟
希望写博客   
提高自己的知识
第一次写博客  
希望大家多多支持
多给我提点建议
谢谢

C#开发——winform中将Excel数据导入DataGridView

using System; using System.Data; using System.Data.OleDb; using System.Windows.Forms; namespace Exc...
  • aoanqi1990
  • aoanqi1990
  • 2014年04月14日 20:58
  • 4443

c# Datagridview控件导入/导出excel表格

在写商业软件的时候,我们会经常遇到对excel表格的操控,最常见的就是Datagridview控件导入/导出excel表格。我也同样遇到了。运用了自己的知识,再加上网上的【大部分】都过期的源码,自己写...
  • cyg2001
  • cyg2001
  • 2016年08月09日 16:55
  • 2995

DataGridView 自定义行样式和行标题

转自:http://blog.163.com/cw490@126/blog/static/365940742010611113450284/  示例代码:http://download.cs...
  • fengxing11
  • fengxing11
  • 2016年10月13日 15:44
  • 1418

大数据时代--Hive之开始动手(导入数据、查询、删除)

最近在忙于大数据的相关知识的学习,SpringMVC的源码也有在读,希望关注的朋友不要着急,后面我会尽快的推出,因为源码这东东着实比较高深,得反复的去琢磨才好,我如果直接读一点写一点感觉写出来的博文没...
  • wangyang1354
  • wangyang1354
  • 2016年08月24日 21:04
  • 1311

机房收费系统遇到的问题(一) datagridview一次性移除多行选中数据,同时删除数据库数据

datagridview一次性移除多行选中数据,同时删除数据库数据     源码:     private void btnDel_Click(object sende...
  • u012407484
  • u012407484
  • 2016年03月15日 20:34
  • 876

怎么将excel数据导入到datagridview中

本人小白,想要实现EXCEL文件中的数据导入到datagridview中,EXCEL中的数据是多行多列,行数和列数不确定,如何实现导入到datagridview中显示,具体的界面如下: 两个...
  • u011555996
  • u011555996
  • 2016年10月17日 14:24
  • 1254

C#将Excel数据表导入SQL数据库的两种方法

方法一: 实现在c#中可高效的将excel数据导入到sqlserver数据库中,很多人通过循环来拼接sql,这样做不但容易出错而且效率低下,最好的办法是使用bcp,也就是System.Data....
  • ryong1267
  • ryong1267
  • 2016年04月04日 21:33
  • 765

DataGridView全选的时候第一行没有选中,光标移动到其他行才会显示选中

这个问题是介个样子的 查询出来值后的初始界面: 然后点击全选: 全选代码:for (int i = 0; i             {              ...
  • lijingrong_ljr
  • lijingrong_ljr
  • 2015年09月11日 15:46
  • 504

C#中DataGridView绑定了DataTable后,通过代码修改DataGridView中的数据,总有一行(被修改过并被用户选中的行集合中索引为0的行)不能被UpDate回数据库的问题和解决办法

问题细节: DataAdapter的update方法可以接收一个datatable参数  然后运行下列代码来改变行数据,再去更新数据库的数据 foreach (DataGridViewRo...
  • iloli
  • iloli
  • 2013年07月07日 19:45
  • 11208

C#中关于DataGridView行和列的背景色-前景色设置

关于DataGridView行和列的背景色-前景色设置 1.设定DataGridView全部单元格的Style   DataGridView内所有单元格的Style变更,可以使用DataGri...
  • wangzhen209
  • wangzhen209
  • 2016年06月23日 16:15
  • 8966
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C#excel数据导入DataGridView第一行数据变成标题处理方法
举报原因:
原因补充:

(最多只允许输入30个字)