作者:lhxhappy

连接:http://www.cnblogs.com/lhxhappy/archive/2008/11/26/1341873.html

转载请注明出处~!

 /// <summary>
        /// 点击按钮导入数据
        /// 作者:lhxhappy
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button1_Click(object sender, EventArgs e)
        {
            //打开一个文件选择框
            OpenFileDialog ofd = new OpenFileDialog();
            ofd.Title = "Excel文件";
            ofd.FileName = "";
            ofd.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);//为了获取特定的系统文件夹,可以使用System.Environment类的静态方法GetFolderPath()。该方法接受一个Environment.SpecialFolder枚举,其中可以定义要返回路径的哪个系统目录
            ofd.Filter = "Excel文件(*.xls)|*.xls";
            ofd.ValidateNames = true;     //文件有效性验证ValidateNames,验证用户输入是否是一个有效的Windows文件名
            ofd.CheckFileExists = true;  //验证路径有效性
            ofd.CheckPathExists = true; //验证文件有效性

string strName = string.Empty;
            if (ofd.ShowDialog() == DialogResult.OK)
            {
                strName = ofd.FileName;
            }

if (strName == "")
            {
                MessageBox.Show("没有选择Excel文件!无法进行数据导入");
                return;
            }
            //调用导入数据方法
            EcxelToDataGridView(strName, this.hpGridView1);
        }

Excel数据导入方法

 /// <summary>
        /// Excel数据导入方法
        /// 作者:lhxhappy
        /// </summary>
        /// <param name="filePath"></param>
        /// <param name="dgv"></param>
        public void EcxelToDataGridView(string filePath,DataGridView dgv)
        {
            //根据路径打开一个Excel文件并将数据填充到DataSet中
            string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = " + filePath + ";Extended Properties ='Excel 8.0;HDR=NO;IMEX=1'";//导入时包含Excel中的第一行数据,并且将数字和字符混合的单元格视为文本进行导入
            OleDbConnection conn = new OleDbConnection(strConn);
            conn.Open();
            string strExcel = "";
            OleDbDataAdapter myCommand = null;
            DataSet ds = null;
            strExcel = "select  * from   [sheet1$]";
            myCommand = new OleDbDataAdapter(strExcel, strConn);
            ds = new DataSet();
            myCommand.Fill(ds, "table1");

//根据DataGridView的列构造一个新的DataTable
            DataTable tb = new DataTable();
            foreach (DataGridViewColumn dgvc in dgv.Columns)
            {
                if (dgvc.Visible && dgvc.CellType != typeof(DataGridViewCheckBoxCell))
                {
                    DataColumn dc = new DataColumn();
                    dc.ColumnName = dgvc.DataPropertyName;
                    //dc.DataType = dgvc.ValueType;//若需要限制导入时的数据类型则取消注释,前提是DataGridView必须先绑定一个数据源那怕是空的DataTable
                    tb.Columns.Add(dc);
                }
            }

//根据Excel的行逐一对上面构造的DataTable的列进行赋值
            foreach (DataRow excelRow in ds.Tables[0].Rows)
            {
                int i = 0;
                DataRow dr = tb.NewRow();
                foreach (DataColumn dc in tb.Columns)
                {
                    dr[dc] = excelRow[i];
                    i++;
                }
                tb.Rows.Add(dr);
            }
            //在DataGridView中显示导入的数据
            dgv.DataSource = tb;
        }

转载于:https://www.cnblogs.com/lhxhappy/archive/2008/11/26/1341873.html

将Excel的数据导入DataGridView中[原创]相关推荐

  1. 将Excel的数据导入DataGridView中(转)

    https://www.cnblogs.com/lhxhappy/archive/2008/11/26/1341873.html /// <summary>/// 点击按钮导入数据/// ...

  2. 将EXCEL表格数据导入hive中

    将EXCEL表格数据导入hive中 第一步:将excel表格转为.csv格式文件(utf-8格式) 第二步:将建表语句中分隔符改为逗号(英文),格式改为text文本格式 第三步:使用linux rz命 ...

  3. 将Excel经纬数据导入ArcGIS中

    我们在将样本数据导入ArcMap中的时候,样本数据经常以Excel的形式存储,这个时候我们就需要将Excel数据导入ArcMap中.导入方法主要有两种. ①方法一 通过ArcGIS中的ExcelToT ...

  4. 读取Excel表格数据到DataGridView中

    其实想在datagridview中显示excel表格中的数据跟读取数据库中的数据没什么差别,只不过是创建数据库连接的时候连接字段稍有差别. private void btnShow_Click(obj ...

  5. 如何通过PHP将excel的数据导入MySQL中

    在开发PHP程序时,很多时候我们会有将数据批量导入数据库的需求,如学生信息批量添加到数据库中,而事先用excel编排好,对excel实行操作,便是我们比较常用的选择方式. 在对excel的操作中,ph ...

  6. matlab打开矩阵表,如何将Excel数据导入MATLAB中?:EXCLE中通过矩阵表输出选项

    怎么把matlab中处理的数据存入到excel中 可以直接xlswrite命令. data=randn(100,1); % data为需要存储的数 xlswrite('D:\write2Excel.x ...

  7. matlab导入word数据,如何将Excel数据导入MATLAB中?/excel数据导入word模板

    如何将Excel数据导入MATLAB中? 从excel中导入,可以用xlsread()函数. 例如: A=xlsread('C:\Users\Administrator\Desktop\07-29预. ...

  8. 如何将excel表格导入matlab,将Excel数据导入MATLAB中的方法

    在使用MATLAB对矩阵进行数据处理时,为了方便编辑与修改,常常需要先将数据录入到Excel中,然后再将其导入到MATLAB中参与矩阵运算.那么下面小编教你怎么将Excel数据导入MATLAB中. 将 ...

  9. 用ado把excel数据写入oracle,如何将excel表格数据导入到oracle数据库对应的表中?!oracle导出excel文件...

    如何把excel里的表导入到oracle里 使用第三方工具吧,toad之类的 一个excel表格中有多个sheet,如何将其导入oracle数据库 户和要用DBA 最简单得建用户: create us ...

  10. 将一个Excel中的数据导入DataGrid中

    第一步: 获取计算机中的一个Excel文件利用File Field控件和Javascrip脚本 File Field控件ID:DocUpload <INPUT id="DocUploa ...

最新文章

  1. 线转hdmi为什么检测不到_为什么苹果MacBook这么保值?
  2. CSU 1259 bfs找最短路
  3. Maxwell与Canal 工具对比
  4. 转:C#调用C++的DLL搜集整理的所有数据类型转换方式
  5. 25个恶意JavaScript 库通过NPM官方包仓库分发
  6. 1106冒泡排序语法树
  7. oracle+prko+2006,oracle卸载Oracle Clusterware
  8. HALCON 21.11:深度学习笔记---术语表(7)
  9. spark 类别特征_spark 机器学习基础 数据类型
  10. 使用PHP+MYSQL搭建的一款直播电商源码和大家分享一下
  11. 小程序图片上传及预览和删除
  12. 第四课:股票,多数人的找死,少数人的等死
  13. Spark 调优技巧总结
  14. HTTP学习四:SPDY和HTTP/2.0
  15. unity访问其他游戏对象的四种方式
  16. vlc录制网络流_vlc如何播放网络流
  17. 由GZipStream的压缩,減少Web Service的传输量
  18. 程序员之间的斗图大作战! 代码可乱, 斗图不能输
  19. pta7-6 英文单词排序
  20. 为什么AR有望彻底改变航空业的飞维修和驾驶现状?

热门文章

  1. Java编程基础12——Eclipse使用Object类型
  2. Tomcat使用Tomcat Native和APR
  3. Geohash介绍及针对具体需求的改良
  4. 手机自动化测试:Appium源码分析之跟踪代码分析七
  5. Maven常用插件配置和使用
  6. PowerShell_零基础自学课程_9_高级主题:静态类和类的操作
  7. 读书笔记18:命令模式
  8. 提高网站速度|负载均衡
  9. LightGBM-GBDT-LR使用树集合进行特征转换
  10. 第三季-第21课-多线程同步