C# 使用窗体读取Excel表格数据最简单粗暴的方法

最近在开发一个项目时,需要利用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表格数据的方法了。希望对大家有帮助。

猜你喜欢

转载自blog.csdn.net/qq_37792061/article/details/80404023