介绍
怎么在c#中利用winform读取Excel表?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
一、界面部分:
首先,打visual studio新开建项目;
然后使用“工具箱”添加控件:分别添加按钮,datagridview,文本框三种窗体;
using System.Data.OleDb;,//命名空间
2,添加类:
//根据excle的路径把第一个壳体中的内容放入数据表 ,,,public static DataTable ReadExcelToTable (string 路径)//excel存放的路径 ,,,{ ,,,,,试一试 ,,,,,{ , ,,,,,,,//连接字符串 ,,,,,,,string connstring =,“提供者=Microsoft.ACE.OLEDB.12.0; Data 源=?+,path +,“; Extended 属性=& # 39;Excel 8.0; HDR=没有;IMEX=1 & # 39;;“,//, Office 07年及以上版本,不能出现多余的空格,而且分号注意 ,,,,,,,//string connstring =,=Microsoft.JET.OLEDB.4.0;提供者Data 源=?+,path +,“; Extended 属性=& # 39;Excel 8.0; HDR=没有;IMEX=1 & # 39;;“,//Office 07年以下版本, ,,,,,,,using (OleDbConnection conn =, new OleDbConnection (connstring)) ,,,,,,,{ ,,,,,,,,,conn.Open (); ,,,,,,,,,DataTable sheetsName =, conn.GetOleDbSchemaTable (OleDbSchemaGuid.Tables, new 对象[],{,空,空,空,,“Table",});,//得到所有表的名字 ,,,,,,,,,string firstSheetName =, sheetsName.Rows [0] [2] .ToString();,//得到第一个表的名字 string sql = string.Format("SELECT * FROM [{0}]", firstSheetName); //查询字符串 //string sql = string.Format("SELECT * FROM [{0}] WHERE [日期] is not null", firstSheetName); //查询字符串 ,,,,,,,,,OleDbDataAdapter ada =, new OleDbDataAdapter (sql, connstring); ,,,,,,,,,DataSet set =, new 数据集(); ,,,,,,,,,ada.Fill(组); ,,,,,,,,,return set.Tables [0]; ,,,,,,,} ,,,,,} ,,,,,catch (异常) ,,,,,{ ,,,,,,,return 零; ,,,,,} , ,,,}
3,在按钮中添加调用代码:
,, private void button1_Click (object ,发送方,EventArgs e) ,,,{ ,,,,,string folder_path =, this.textBox1.Text.Trim (); ,,,,,,dataGridView1.DataSource =,零,,//每次打开清空内容 ,,,,,,DataTable dt =, ReadExcelToTable (folder_path); ,,,,,dataGridView1.DataSource =, dt,,, , ,,,}
看完上述内容,你们掌握怎么在c#中利用winform读取Excel表的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!