博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
winform下读取excel文件并绑定datagridview例子
阅读量:4980 次
发布时间:2019-06-12

本文共 2519 字,大约阅读时间需要 8 分钟。

首先我要读取这个excel文件然后生成Datable 

用winform编程的方式

前台界面:

 后台的代码

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.OleDb;namespace 读Excel文件{    public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();        }        ///         /// 选择文件按钮        ///         ///         ///         private void button1_Click(object sender, EventArgs e)        {            if (this.openFileDialog1.ShowDialog() == DialogResult.OK)            {                this.textBox1.Text = this.openFileDialog1.FileName;            }        }        ///         /// 点击导出excel按钮        ///         ///         ///         private void button2_Click(object sender, EventArgs e)        {            string File = this.openFileDialog1.FileName;            DataTable dt = ExcelUp(File);            dataGridView1.AutoGenerateColumns = false;            dataGridView1.DataSource = dt;        }        ///         /// 读取指定excel表中的内容返回datatable        ///         /// 文件地址        /// 
表中内容
public DataTable ExcelUp(string fileName) { string filePath = fileName;//读取excel文件路径; DataTable dt = GetDataTable("Sheet1", filePath); return dt; } /// /// 读取excel指定页中的内容 /// /// 页名 /// excel路径 ///
protected DataTable GetDataTable(string strSheetName, string strExcelFileName) { //源的定义 string strConn = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source={0};" + "Extended Properties='Excel 8.0;HDR=NO;IMEX=1';", strExcelFileName); //Sql语句 string strExcel = string.Format("select * from [{0}$]", strSheetName); //定义存放的数据表 DataSet ds = new DataSet(); //连接数据源 OleDbConnection conn = new OleDbConnection(strConn); try { conn.Open(); //适配到数据源 OleDbDataAdapter adapter = new OleDbDataAdapter(strExcel, strConn); adapter.Fill(ds, strSheetName); } catch (Exception e) { throw e; } finally { conn.Close(); } return ds.Tables[strSheetName]; } }}

 

实现的效果:(说明:在excel中读取的datable中列头都是F几,如F1,F2等,要自己转换)

转载于:https://www.cnblogs.com/kennyliu/p/3957109.html

你可能感兴趣的文章
mysql sin() 函数
查看>>
单片机复位电路
查看>>
php json_decode失败,返回null
查看>>
3-day3-list-truple-map.py
查看>>
Edit控件显示多行文字
查看>>
JS第二周
查看>>
dataTable.NET的search box每輸入一個字母進行一次檢索的問題
查看>>
Python 文件处理
查看>>
邻接表详解
查看>>
迭代dict的value
查看>>
eclipse package,source folder,folder区别及相互转换
查看>>
Py 可能是最全面的 python 字符串拼接总结(带注释版)
查看>>
《Java程序设计实验》 软件工程18-1,3 OO实验2
查看>>
【Herding HDU - 4709 】【数学(利用叉乘计算三角形面积)】
查看>>
OPENSSL使用方法
查看>>
开发WINDOWS服务程序
查看>>
cross socket和msgpack的数据序列和还原
查看>>
解决跨操作系统平台JSON中文乱码问题
查看>>
前端利器躬行记(1)——npm
查看>>
前端利器躬行记(6)——Fiddler
查看>>