将Excel的数据导入DataGridView中[原创]
作者:lhxhappy
连接:http://www.cnblogs.com/lhxhappy/archive/2008/11/26/1341873.html
转载请注明出处~!
/// 点击按钮导入数据
/// 作者: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数据导入方法
/// 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中[原创]相关推荐
- 将Excel的数据导入DataGridView中(转)
https://www.cnblogs.com/lhxhappy/archive/2008/11/26/1341873.html /// <summary>/// 点击按钮导入数据/// ...
- 将EXCEL表格数据导入hive中
将EXCEL表格数据导入hive中 第一步:将excel表格转为.csv格式文件(utf-8格式) 第二步:将建表语句中分隔符改为逗号(英文),格式改为text文本格式 第三步:使用linux rz命 ...
- 将Excel经纬数据导入ArcGIS中
我们在将样本数据导入ArcMap中的时候,样本数据经常以Excel的形式存储,这个时候我们就需要将Excel数据导入ArcMap中.导入方法主要有两种. ①方法一 通过ArcGIS中的ExcelToT ...
- 读取Excel表格数据到DataGridView中
其实想在datagridview中显示excel表格中的数据跟读取数据库中的数据没什么差别,只不过是创建数据库连接的时候连接字段稍有差别. private void btnShow_Click(obj ...
- 如何通过PHP将excel的数据导入MySQL中
在开发PHP程序时,很多时候我们会有将数据批量导入数据库的需求,如学生信息批量添加到数据库中,而事先用excel编排好,对excel实行操作,便是我们比较常用的选择方式. 在对excel的操作中,ph ...
- matlab打开矩阵表,如何将Excel数据导入MATLAB中?:EXCLE中通过矩阵表输出选项
怎么把matlab中处理的数据存入到excel中 可以直接xlswrite命令. data=randn(100,1); % data为需要存储的数 xlswrite('D:\write2Excel.x ...
- matlab导入word数据,如何将Excel数据导入MATLAB中?/excel数据导入word模板
如何将Excel数据导入MATLAB中? 从excel中导入,可以用xlsread()函数. 例如: A=xlsread('C:\Users\Administrator\Desktop\07-29预. ...
- 如何将excel表格导入matlab,将Excel数据导入MATLAB中的方法
在使用MATLAB对矩阵进行数据处理时,为了方便编辑与修改,常常需要先将数据录入到Excel中,然后再将其导入到MATLAB中参与矩阵运算.那么下面小编教你怎么将Excel数据导入MATLAB中. 将 ...
- 用ado把excel数据写入oracle,如何将excel表格数据导入到oracle数据库对应的表中?!oracle导出excel文件...
如何把excel里的表导入到oracle里 使用第三方工具吧,toad之类的 一个excel表格中有多个sheet,如何将其导入oracle数据库 户和要用DBA 最简单得建用户: create us ...
- 将一个Excel中的数据导入DataGrid中
第一步: 获取计算机中的一个Excel文件利用File Field控件和Javascrip脚本 File Field控件ID:DocUpload <INPUT id="DocUploa ...
最新文章
- 线转hdmi为什么检测不到_为什么苹果MacBook这么保值?
- CSU 1259 bfs找最短路
- Maxwell与Canal 工具对比
- 转:C#调用C++的DLL搜集整理的所有数据类型转换方式
- 25个恶意JavaScript 库通过NPM官方包仓库分发
- 1106冒泡排序语法树
- oracle+prko+2006,oracle卸载Oracle Clusterware
- HALCON 21.11:深度学习笔记---术语表(7)
- spark 类别特征_spark 机器学习基础 数据类型
- 使用PHP+MYSQL搭建的一款直播电商源码和大家分享一下
- 小程序图片上传及预览和删除
- 第四课:股票,多数人的找死,少数人的等死
- Spark 调优技巧总结
- HTTP学习四:SPDY和HTTP/2.0
- unity访问其他游戏对象的四种方式
- vlc录制网络流_vlc如何播放网络流
- 由GZipStream的压缩,減少Web Service的传输量
- 程序员之间的斗图大作战! 代码可乱, 斗图不能输
- pta7-6 英文单词排序
- 为什么AR有望彻底改变航空业的飞维修和驾驶现状?