1 public MainForm()
  2         {
  3             InitializeComponent();
  4             //this.ofd_in.DefaultExt = ".xlsx";
  5             this.ofd_in.Filter = "Excel文件(*.xlsx)|*.xlsx";
  6         }
  7         // code.GetSheetName getname = new code.GetSheetName();
  8         private void btnDr_Click(object sender, EventArgs e)
  9         {
 10             if (ofd_in.ShowDialog() == System.Windows.Forms.DialogResult.OK)
 11             {
 12                 this.txtFileName.Text = ofd_in.FileName.ToString();
 13                 List<Model.ExcelSheet> lst = code.GetSheetName.ExcelSheetName(ofd_in.FileName.ToString());
 14                 cmbBox.DataSource = lst;
 15                 cmbBox.DisplayMember = "SheetName";
 16                 cmbBox.ValueMember = "Id";
 17
 18                 //ImportExcel(ofd_in.FileName, "[Sheet1$]");//传递excel文件名,和表名
 19             }
 20         }
 21
 22         /// <summary>
 23         /// 从选择的excel导入
 24         /// </summary>
 25         /// <returns></returns>
 26         public void ImportExcel(string ExcelName, string Tablename)
 27         {
 28             // string strcon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + ExcelName + ";Extended Properties='Excel 8.0;HDR=No;IMEX=1';";//连接excel文件的字符串
 29
 30             string strcon = "Provider=Microsoft.Ace.OleDb.12.0;data source=" + ExcelName + ";Extended Properties='Excel 12.0; HDR=Yes; IMEX=1'"; //此连接可以操作.xls与.xlsx文件 (支持Excel2003 和 Excel2007 的连接字符串)
 31             if (ExcelName == null)
 32             {
 33                 return;
 34             }
 35             OleDbConnection odcon = new OleDbConnection(strcon);//建立连接
 36             odcon.Open();//打开连接
 37
 38             //把数据集dataset放到控件中显示
 39             OleDbDataAdapter odda = new OleDbDataAdapter("select * from " + Tablename, odcon);
 40             DataSet ds = new DataSet();
 41             try
 42             {
 43                 odda.Fill(ds);
 44             }
 45             catch (Exception ex)
 46             {
 47                 MessageBox.Show(ex.Message);
 48             }
 49             if (ds != null)
 50             {
 51
 52                 this.dgvdata.DataSource = ds.Tables[0];
 53
 54             }
 55             else
 56             {
 57                 MessageBox.Show("没有数据");
 58             }
 59         }
 60
 61         private void btnClose_Click(object sender, EventArgs e)
 62         {
 63             this.Close();
 64         }
 65
 66         /// <summary>
 67         /// 保存,选中的datagridview的值
 68         /// </summary>
 69         /// <param name="sender"></param>
 70         /// <param name="e"></param>
 71         private void btnSave_Click(object sender, EventArgs e)
 72         {
 73             int selectedCellCount = dgvdata.GetCellCount(DataGridViewElementStates.Selected);
 74             if (selectedCellCount > 0)
 75             {
 76                 if (dgvdata.AreAllCellsSelected(true))
 77                 {
 78                     MessageBox.Show("All cells are selected", "Selected Cells");
 79                 }
 80                 else
 81                 {
 82                     StringBuilder sb = new StringBuilder();
 83
 84                     for (int i = 0;
 85                         i < selectedCellCount; i++)
 86                     {
 87                         sb.Append("Row: ");
 88                         int rows = dgvdata.SelectedCells[i].RowIndex;
 89                         sb.Append(rows.ToString());
 90                         sb.Append(", Column: ");
 91                         int columns = dgvdata.SelectedCells[i].ColumnIndex;
 92                         sb.Append(columns.ToString());
 93                         sb.Append(",Value: ");
 94                         sb.Append(dgvdata.Rows[rows].Cells[columns].Value.ToString());
 95                         sb.Append(Environment.NewLine);
 96                     }
 97
 98                     sb.Append("Total: " + selectedCellCount.ToString());
 99                     MessageBox.Show(sb.ToString(), "Selected Cells");
100                 }
101             }
102         }
103
104
105         /// <summary>
106         /// 加载对应的sheet页
107         /// </summary>
108         /// <param name="sender"></param>
109         /// <param name="e"></param>
110         private void btnSearch_Click(object sender, EventArgs e)
111         {
112             dgvdata.DataSource = null;
113             var sheetname = this.cmbBox.Text.Trim(); ;
114             ImportExcel(this.txtFileName.Text, "["+sheetname+"]");
115         }

转载于:https://www.cnblogs.com/Lauyj/p/4364812.html

C#Winform版获取Excel文件的内容相关推荐

  1. 【框架思路】python如何读取excel文件内容?如何获取excel文件的路径及sheet名称?

    转载请注明作者和出处:美二 https://blog.csdn.net/qq_32654897/article/details/88579713 一.背景说明 在自动化项目中,有时候测试用例会放在ex ...

  2. C#下使用第三方开源控件读取Excel文件的内容

    使用了两个开源控件读取Excel文件的内容,不需要安装Excel或Office,开发环境可能需要vs2008(2005没测试过) NPOI,       读取xls文件(Excel2003及之前的版本 ...

  3. php如何打开excel文件,如何使用php获取excel文件数据

    文章主要介绍了php获取excel文件数据的方法.具有很好的参考价值.下面跟着小编一起来看下吧. 1.下载PHPExcel类,是一个文件夹,还得有一个文件PHPExcel.php,两个在同级目录 ? ...

  4. php读取excel文件的数据,如何使用php获取excel文件数据

    如何使用php获取excel文件数据 文章主要介绍了php获取excel文件数据的方法.具有很好的参考价值.下面跟着小编一起来看下吧. 1.下载PHPExcel类,是一个文件夹,还得有一个文件PHPE ...

  5. EasyExcel获取excel文件中sheet页总数,及对应sheet页名称及下标

    问题: 多工作表excel文件读取,获取文件中总共有多少个sheet页,及获取对应sheet页名称 代码 import com.alibaba.excel.EasyExcel; import com. ...

  6. 如何利用VBA批量更改Excel文件的内容

    心得(5):利用VBA批量更改Excel文件的内容 问题:因为接受的所有Excel文件都是相同格式的,但是有个单元格的内容就是需要,主办方来更改,如下所示: 获奖级别,得由主办方来更改,但是如果一个一 ...

  7. ajax读取xlsx文件,从Ajax中的服务器响应获取Excel文件(.xlsx)

    在获得该文件的响应(成功的ajax方法)后,获取Excel文件并在浏览器中打开下载窗口时出现问题.我已经合适了Content-Type and Content-Disposition headers, ...

  8. java 从excel中读取数据_在Java中读取Excel文件的内容和导出数据到Excel文件中

    转自www.chianjavaworld.net 原作者:SonyMusic 读:rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr 在Java ...

  9. python邮件正文表格怎么编辑_如何使用python将excel文件的内容复制粘贴到电子邮件正文中...

    我正在写一个python脚本来发送电子邮件.现在它正在以附件的形式发送一个excel文件,但是我想发送包含excel文件内容的邮件.比如用颜色.格式等复制excel文件的内容,然后粘贴到邮件正文中.我 ...

最新文章

  1. 一个程序员的小笑话.(纯属虚构)
  2. OpenCV的cv::cvtColor函数之“CV_RGB2GRAY”: 未声明的标识符错误解决方法
  3. adb指令禁用软件_三星等安卓手机续航差?禁用部分系统组件后提升明显
  4. 某省HW中遇到的提权
  5. 云服务器建站原理_云服务器cvm与建站主机之间的区别
  6. Vue 过渡效果的组件
  7. 容器技术第一讲:容器入门篇
  8. topcoder srm 708 div1 -3
  9. HNU 12894 Keys dfs
  10. sqlserver express版PRIMARY 大小不能超过4G
  11. UVa 483 - Word Scramble
  12. pascal voc2012分割标签处理
  13. 修改k8s的集群域名后缀
  14. nginx 499状态码
  15. 深入浅出java并发编程(线程池)
  16. [BZOJ1776] [Usaco2010 Hol]cowpol 奶牛政坛
  17. 淘宝美工设计就业怎么样?零基础学淘宝美工设计怎么学?
  18. move_uploaded_file()移动文件失败?
  19. 【模电实验】基尔霍夫定律、叠加定理和戴维南定理验证实验
  20. 教你如何写出高质量的网络推广软文

热门文章

  1. Lucene 学习笔记(一)
  2. sharepoint 2010 创建内容类型2
  3. 职场宝典:63种能力让你职场步步高升
  4. 让Windows 7揪出每一个暗中运行程序
  5. Java动态代理的应用
  6. webstorm快捷键生成html页面,webstorm工具使用的快捷键
  7. 自定义sql_SQL自定义排序,想怎么排就怎么排
  8. 现在还需要掌握linux文本模式吗?
  9. java程序中,数据验证,如何判断输入的文本框中的值是不是int型?
  10. JQuery 分割函数(split)的用法和定义