最近教学中,需要用到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. 虚拟架构就绪 | 谈谈Windows Server 2012 R2迁移这件小事

    我们所说的“新选择”包括操作系统升级——告别Windows Server 2003或2008,选择用什么样的姿势进行升级呢? 新年伊始,正是企业对自身IT基础设施进行评估的最佳时期.在多项评估项目里面 ...

  2. 【Gray Code】cpp

    题目: The gray code is a binary numeral system where two successive values differ in only one bit. Giv ...

  3. Python中@property和@classmethod和@staticmethod

    前戏 首先,先要弄清楚一个类里面的,各个组成部分都应该怎么称呼. - 注:可能叫法会不太一样. 关于@property 顾名思义:它的意思为‘属性’. 作用: 1:使用它你将会把类方法,变为类属性.并 ...

  4. CentOS7安装Code::Blocks

    在CentOS7上安装Codelocks的过程. 1.安装gcc,需要c和c++两部分,默认安装下,CentOS不安装编译器的,在终端输入以下命令即可yum install gccyum instal ...

  5. CSU-2031 Barareh on Fire

    CSU-2031 Barareh on Fire Description The Barareh village is on fire due to the attack of the virtual ...

  6. Halcon11 Linux 下载

    Halcon11 Linux下载地址:http://www.211xun.com/download_page_3.html HALCON 11 是一套机器视觉图像处理库,由一千多个算子以及底层的数据管 ...

  7. HDU3018 几笔画(非1笔)

    Ant Trip Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Su ...

  8. js深度复制

    项目过程遇到需要对一个对象处理,然后独立出来用,结果怎么处理都会影响到原有变量,原来是引用导致,只有深度复制才行. 最终用下面的赋值方法才搞成功 var result=$.extend( true, ...

  9. Kotlin-Not enough information to infer parameter T in fun<T:View> findViewById(id: Int): T!

    代码改变世界 错误: Type inference failed : Not enough information to infer parameter T in fun<T:View> ...

  10. java连接adsl

    http://blog.csdn.net/qq_28784775/article/details/54134169#comments