最近在开发一个项目时,需要利用VS读取Excel中的表格数据,经过不断的尝试和收集下面送给大家一套完整的读取方法。
我这里用的是VS(2015)。首先大家新建一个Windows窗体应用程序,然后找到工具箱,在其中 加入一个 Butten按钮和一个DataGridVive按钮,就像我这样既可。
然后我们双击Butten按钮,在 public Form1()
{
InitializeComponent();
}
下输入如下代码:
public DataSet getData() { //打开文件 OpenFileDialog file = new OpenFileDialog(); file.Filter =“Excel(*。xlsx)| * .xlsx | Excel(*。xls)| * .xls”; file.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); file.Multiselect = false; if(file.ShowDialog()== DialogResult.Cancel) return null; //判断文件后缀 var path = file.FileName; string fileSuffix = System.IO.Path.GetExtension(path); if(string.IsNullOrEmpty(fileSuffix)) return null; using(DataSet ds = new DataSet()) { //判断的Excel文件是2003版本还是2007年版本 string connString =“”; if(fileSuffix ==“.xls”) connString =“Provider = Microsoft.Jet.OLEDB.4.0;” + “Data Source=”+ path +“;” +“;Extended Properties= \”Excel 8.0; HDR = YES; IMEX = 1 \“”; else connString =“Provider = Microsoft.ACE.OLEDB.12.0;” + “Data Source=”+ path +“;” +“;Extended Properties= \”Excel 12.0; HDR = YES; IMEX = 1 \“”; //读取文件 string sql_select =“SELECT * FROM [Sheet1 $]”; using(OleDbConnection conn =new OleDbConnection(connString)) using(OleDbDataAdapter cmd =new OleDbDataAdapter(sql_select,conn)) { NewMethod1(conn); cmd.Fill(DS); } if(ds == null || ds.Tables.Count <= 0)return null; return ds; } }
private static void NewMethod1(OleDbConnection conn) { conn.Open(); }
这样我们的数据集判断加进去了,后面的coon.Open是打开我们之前的DLL,在这里大家要注意一个OleDbDataAdapter,因为你们是直接粘贴代码的所以他没有定义using,点第一个既可。
然后找到from1设计器双击Buttem按钮,在Butten按钮中输入以下代码,在Butten 按钮的界面下新加一个DataSet定义,代码如下
dataGridView1.DataSource = null; //每次打开清空内容 dataGridView1.DataSource = NewMethod()。Tables [0];
private DataSet的NewMethod() { retuen getData(); }
现在点击启动,点击Butten按钮,选择对应的Excel文件打开既可,如若出现以下错误提示那就是Dll没有配置好,因为我们上面的DLL是12.0,所以我们需要下载一个2007的DLL来配置。点击下载,默认安装既可。
那么这就是简单的VS获取Excel表格数据的方法了。希望对大家有帮助。