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# datagridview 从excel导入数据后时间的显示

正在自学C#,遇到个问题。   我从excel导入数据到datagridview,  excel中数据是这个样子的:   导入到datagridview以后,就变成 导入的时候...

C# datagridview导出数据至Excel

///    /// 导出EXCEL 表格   ///    ///    private void DataGridViewToExcel(...

c# dataGridView导出数据到EXcel

public static void ExportExcelAll(DataGridView dataGridView1)         {             int columnCoun...

C# datagridview导出数据至Excel

/// /// 导出EXCEL 表格 /// /// private void DataGridViewToExcel(D...

C#中DataGridView数据导出到Excel

最近在做一个小程序,需要将DataGridView中的数据导出到Excel中显示和保存。最开始用使用如下代码实现: SaveFileDialog dlg = new SaveFileDialog...

C#中将DataGridView中查询出来的数据使用DataTable导出为Excel表格(通过NPOI)

1.首先在当前项目中添加引用NPOI.dll 2.在项目中添加类ExportExcel.cs using System; using System.Collections.Generic; using...

C#使用POI把DataGridView中数据导出到excel文档中

C#使用POI把DataGridView中数据导出到excel文档中
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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