(一)C#Winform导入Excel数据到datagridview控件
C#Winform导入Excel数据到datagridview控件
#此次导入Excel数据借助了ExcelDataReader插件。(由于我需要的是打开工作簿时能够选择工作表绑定于datagridview控件,通过网上资源的浏览与借鉴,ExcelDataReader能满足我的需求。)
一、插件安装
(1)安装ExcelDataReader插件(如图)
(2)查看是否安装成功(如图表明已安装成功)
二、代码编写
(1)为了方便使用,打开文件的过程构造为一个方法
DataTableCollection tableCollection;public void OpenFile(){OpenFileDialog file = new OpenFileDialog();file.Filter = "Excel(*.xlsx)|*.xlsx|Excel(*.xls)|*.xls";if (file.ShowDialog() == DialogResult.OK){txtFileName.Text = file.FileName;//对话框中选择的文件名//1:打开文件,得到文件流stream FileStream stream = File.Open(file.FileName, FileMode.Open, FileAccess.Read);//FileStream:用于文件中任何位置的读写。var sw = new Stopwatch();//定时器sw.Start();//2:得到文件readervar reader = ExcelReaderFactory.CreateReader(stream);//3:通过reader得到数据var result = reader.AsDataSet(new ExcelDataSetConfiguration(){ConfigureDataTable = (tableReader) => new ExcelDataTableConfiguration(){//标题行的内容是否显示UseHeaderRow = true}});var openTiming = sw.ElapsedMilliseconds;toolStripStatusLabel1.Text = "Elapsed: " + sw.ElapsedMilliseconds.ToString() + " ms (" + openTiming.ToString() + " ms to open)";//4:得到ExcelFile文件的表SheettableCollection = result.Tables;cboSheet.Items.Clear();foreach (DataTable item in tableCollection){cboSheet.Items.Add(item.TableName);Console.WriteLine(item.TableName);}}}
(2)效果展示(图上为控件name)
(3)数据绑定方法
public static void BindDataGridView(DataTable dt, DataGridView dgv){/*dgv.ClearSelection();//不像用户显示添加行dgv.AllowUserToAddRows = false;dgv.DataSource = null;*///DataTable存储数据dgv.DataSource = dt;}
(4)选择工作表,绑定相应数据
private void dgv_CellContentClick(){//datagridview组件的颜色dgvData.RowsDefaultCellStyle.BackColor = Color.White;Console.WriteLine(cboSheet.SelectedItem.ToString());var dt = tableCollection[cboSheet.SelectedItem.ToString()];BindDataGridViewFillShow(dt, dgvData);dgvData.DataSource = dt;// DataGridView取消选中第一行第一列方法(绑定数据源后)dgvData.Rows[0].Cells[0].Selected = false;dgvData.Rows[0].Selected = false;}
(5)在相应控件调用方法即可
private void btnFilenpath_Click(object sender, EventArgs e){OpenFile();}private void cboSheet_SelectedIndexChanged(object sender, EventArgs e){dgv_CellContentClick();}
这就完成将Excel数据导入到Excel的过程啦!
这是通过自己需求从网络上学习、借鉴从而实现的,给有需要的朋友参考参考。如有侵权,请务必联系我删除,谢谢!
也希望能给大家有所帮助!!!
(一)C#Winform导入Excel数据到datagridview控件相关推荐
- excel数据输入窗体控件_工作表数据输入或Excel用户窗体
excel数据输入窗体控件 If you're building an Excel workbook, in which users with basic Excel skills will ente ...
- .Net C# 如何读取Excel数据内容写入数据库并通过DataGridView控件动态刷新显示
目录 介绍 选择Excel文件并读取内容 将数据内容写到数据库 更新dataGridView内容 介绍 本篇文章主要介绍C# winForm窗体如何打开Excel文件读取其中的内容,并将其内容写到数据 ...
- python绘制动态图表怎么存下来_用python如何实现导入excel数据后自动生成图表?python如何实现交互式动态图表?...
这个需求涉及的环节太多了.导入excel文件,获取数据 -- 需要xlrd模块把数据导入python 2. 设定输出图表类型 -- 需要matplot模块.根据数据复杂度,可能需要ETL,那么需要pa ...
- python导入excel数据-如何把python中的数据导入excel
python将数据导入excel的方法:1.在python官网下载xlrd第三方库:2.利用xlrd中的open_workbook函数读入excel文件,即可在python中导入excel数据. 一. ...
- oracle 导入Excel数据
oracle 导入excel数据 CreateTime--2018年1月30日14:58:51 Author:Marydon 通过plsql实现 1.准备工作 Excel中的字段名称,必须和表结构字段 ...
- php 导入表格数据,PHPExcel 导入Excel数据的方法
这篇文章主要介绍了关于PHPExcel 导入Excel数据的方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 一:使用composer下载 phpoffice/phpexcel 或者 ...
- arcgis导入excel数据_导入Excel数据到ArcGIS属性表的两种实用方法
导入Excel数据到ArcGIS有两种方法,一种是用ArcMap的加载数据(黄色+号那个):另一种是用ArcCatalog直接转为shp文件,两种方法的原理是一样的. 第一种方法 1.Excel数据: ...
- C# 导入excel数据,解决关闭excel后不能释放资源的问题
C# 导入excel数据,解决关闭excel后不能释放资源的问题 参考文章: (1)C# 导入excel数据,解决关闭excel后不能释放资源的问题 (2)https://www.cnblogs.co ...
- 使用SQLyog导入EXCEL数据和合并数据表
使用SQLyog导入Excel数据 选择 ``高级工具`` >``导入外部数据`` ,选择``开始新工作``,点击``下一步``,如下图所示. 选择数据源类型为excel,在File name中 ...
最新文章
- TypeKit ,use online fonts
- Ubuntu 下编译ffmpeg和x264解编码器(翻译的一篇文章:)
- 数据恢复 从binlog文件
- printf输出颜色和ANSI控制码(高亮,下划线,闪烁,光标位置,清屏等)
- mysql双主双从_mysql双主双从
- mysql数据库 day04
- 我是一个请求,我是如何被发送的?
- JS隐形数据类型转换注意事项
- VBOX+WINDOWSSERVER208R2实现虚拟机内FTP服务器搭建
- 某P2P开发商ERP系统核心业务介绍
- VMware虚拟机复制文件卡死的问题
- SlicePlane的Heading角度与Math.atan2(y,x)的对应转换关系
- 博客赚钱也疯狂--个人博客如何赚钱
- 2022最新软件测试面试题(附答案)来测试下你的水平
- 严格校验身份证,最后一位如果是X 需大写
- html/template 和 text/template区别
- ISO 26262系列文章之————5 硬件开发
- (修改gho文件办法)做属于自己个性的gho系统
- OOV问题-论文笔记《Neural Machine Translation of Rare Words with Subwords Units》- ACL2016
- 当前流行搜索引擎爬虫IP列表