最近教学中,需要用到WinForm 读取Excel数据,于是就做了一个简单的,废话不多说,直接codding...

 //读取Excel的帮助类
class SqExcellHelper
{
public static DataTable GetData(string tablename)
{
DataTable dtEmp = new DataTable(tablename);
OleDbConnection con = new OleDbConnection();
// Persist Security Info 布尔类型.为True时,表明采用集成安全机制;若为False,则表明不采用集成安全机制。
//con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
//"Data Source = Employee.xlsx;Persist Security Info=False;Mode=ReadWrite;Extended Properties=Excel 8.0"; //string strConn = "Provider=Microsoft.Ace.OleDb.12.0;" + "data source=" + Server.MapPath("ExcelFiles/Mydata2007.xlsx") + ";
//Extended Properties='Excel 12.0; HDR=Yes; IMEX=1'";
//此连接可以操作.xls与.xlsx文件 (支持Excel2003 和 Excel2007 的连接字符串)
//备注: "HDR=yes;"是说Excel文件的第一行是列名而不是数据,"HDR=No;"正好与前面的相反。
// "IMEX=1 "如果列中的数据类型不一致,使用"IMEX=1"可必免数据类型冲突。 // 注: 根据需求,这里的Data Source 是数据源;根据需要改成你需要的文件名称 * con.ConnectionString = "Provider=Microsoft.Ace.OleDb.12.0;" +
"Data Source = prize.xls;Extended Properties='Excel 12.0; HDR=Yes; IMEX=1';"; try
{ con.Open();
//string sql = "Select * from [Sheet1$]";
OleDbDataAdapter da = new OleDbDataAdapter("Select * from [Sheet1$]", con);
da.Fill(dtEmp);
}
catch (Exception ex)
{ Console.WriteLine(ex.Message);
}
finally
{
con.Close();
}
return dtEmp;
}

这里没有用到三层,后面的代码就是直接加载数据到WinForm数据控件中,代码如下:

        /// <summary>
/// 窗体加载事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void MainYJ_Load(object sender, EventArgs e)
{ string sql = "Select * from [Sheet1$]";
DataTable dtp = SqlHelper.GetData(sql);
this.dataGridView1.DataSource = dtp;
int randnum = (dtp.Rows.Count - );
this.textBox1.Text = dtp.Rows[randnum]["奖品名称"].ToString(); }

效果图:

由于WinForm 实际开发中,用的不太多,这里只是做了一个简单的Demo,如果有错误,请原子中的朋友指出,谢谢!

相关链接:http://blog.csdn.net/pan_junbiao/article/details/8872936

WinForm 读取Excel 数据显示到窗体中的更多相关文章

  1. C#读取Excel显示到repeater中

    首先需要一个用来存储我们需要显示的内容,防止页面回发丢失(添加时使用) #region 缓存文件 private DataTable excelData; /// <summary> // ...

  2. thinkphp用phpexcel读取excel,并修改列中的值,再导出excel,带往excel里写入图片

    <?php class GetpriceAction extends AdministratorAction { // 文件保存路径 protected $savepath; // 允许上传的文 ...

  3. Python用xlrd读取Excel数据到list中再用xlwt把数据写入到新的Excel中

    一.先用xlrd读取Excel数据到list列表中(存入列表中的数据如下图所示) import xlrd as xd #导入需要的包 import xlwt data =xd.open_workboo ...

  4. C#读取excel数据到datatable中

    DataTable dtGBPatient = new DataTable(); string strConn;string excelName; //注意:把一个excel文件看做一个数据库,一个s ...

  5. winform 读取TXT文件 放在Label中 分类: WinForm 2014-07-31 09:56 310人阅读 评论(0) 收藏

    <span style="font-family: Arial, Helvetica, sans-serif;">#region 读取TXT 文件,放到Label中&l ...

  6. .net读取excel数据到DataSet中

    Dim objExcelFile As Excel.Application Dim objWorkBook As Excel.Workbook Dim objSheet As Excel.Worksh ...

  7. 读取Excel文件到DataTable中

    private static string[] GetExcelSheetNames(OleDbConnection conn)        {            DataTable dtbSh ...

  8. c#dev操作读取excel方法

    一:使用spreadsheetControl1 方法 1:打开excel; private void barButtonItem1_ItemClick(object sender, DevExpres ...

  9. C#读取Excel技术概览

    参考文章 C#读取Excel的五种方式体会 1. OleDb 用这种方法读取Excel速度还是非常的快的,但这种方式读取数据的时候不太灵活.不过可以在 DataTable 中对数据进行一些删减.修改. ...

随机推荐

  1. 【Best Time to Buy and Sell Stock】cpp

    题目: Say you have an array for which the ith element is the price of a given stock on day i. If you w ...

  2. Python+Selenium练习篇之19-多窗口之间切换

    本文来介绍如何处理driver在多窗口之间切换,想一下这样的场景,在页面A点击一个连接,会触发在新Tab或者新窗口打开页面B,由于之前的driver实例对象在页面A,但是你接下来的脚本是操作页面B的元 ...

  3. PageObject模式简介

    一.原理 将页面元素定位和对元素的操作行为封装成一个page类,实现对页面对象和测试用例的分离. 一条测试用例可能需要多个步骤操作元素,将每个步骤单独的封装成一个方法,在执行测试用例的时候调用封装好的 ...

  4. 菜鸟之路——机器学习之线性回归个人理解及Python实现

    这一节很简单,都是高中讲过的东西 简单线性回归:y=b0+b1x+ε.b1=(Σ(xi-x–)(yi-y–))/Σ(xi-x–)ˆ2       b0=y--b1x-    其中ε取 为均值为0的正态 ...

  5. MySQL主从复制入门

    1.MySQL主从复制入门 首先,我们看一个图: MySQL 主从复制与读写分离概念及架构分析 影响MySQL-A数据库的操作,在数据库执行后,都会写入本地的日志系统A中. 假设,实时的将变化了的日志 ...

  6. VS 2013插件

    http://www.spersky.com/post/vsPlugins.html http://vswebessentials.com/download http://developer.51ct ...

  7. [POI2005][luogu3462] SZA-Template [fail树]

    题面 传送门 思路 首先,我们观察一下这个要求的"模板串",发现它有如下性质: 1.一个模板串$A$是要求的文本串$B$的公共前后缀 2.如果一个模板串$A$有另一个模板串$B$( ...

  8. [usaco jan 09] 安全路径 travel [最短路径树]

    题面: 传送门 思路: 既然最后一条边不能走,那么就一定是换了一条路,一条不经过这最后一条边的路 如果想要这条路最短,那么其在路上一定尽可能多地走了最短路径 因此,我们对这张图跑一遍从1开始的单源最短 ...

  9. web常见攻击总结

    1.Sql注入 攻击者把sql命令插入到web表单的输入域或页面请求的查询字符串, 欺骗服务器执行恶意的sql命令 防御措施 前端: 1.正则验证字符串格式 2.过滤字符串的非法字符 后端: 1.不要 ...

  10. Codeforces Round #363 (Div. 2) A 水

    Description There will be a launch of a new, powerful and unusual collider very soon, which located ...