首页 > 代码库 > C# 读取数据,显示再dataggrideView上。 先用excel,后用sqlite3。
C# 读取数据,显示再dataggrideView上。 先用excel,后用sqlite3。
最近在做一个订单管理的软件,考虑直接读取excel,然后把数据显示在datagridView上。,然后使用NPOI操作excel。
1 string strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=‘Excel 12.0;HDR=YES;IMEX=0‘"; 2 //string strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=d:/成绩表2013.xlsx;Extended Properties=‘Excel 12.0;HDR=YES;IMEX=0‘"; 3 OleDbConnection myConn = new OleDbConnection(strCon); 4 string sSelect = "SELECT * FROM [Sheet1$]"; 5 myConn.Open(); 6 OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(sSelect, myConn); 7 DataSet myDataSet = new DataSet(); 8 myDataAdapter.Fill(myDataSet);//, "[Sheet1$]"); 9 myConn.Close(); 10 dataGridView_items.DataSource = myDataSet.Tables[0].DefaultView; //显示到datagridview
该方法效率很慢,显示数据会一行一行刷出来,不可用。 后来选择使用轻量级sqlite3:
在官网下载相关的dll:https://www.sqlite.org/download.html 下载项如下
.Net工具:
加载sqlite
using System.Data.SQLite; using System.Data.SqlClient;
使用:
注意使用try,catch, 否则会显示不出来数据并且不抱错。try catch之后会发现不能加载SQLite.Interop.dll。。 需要把该dll放到项目路径下,然后设置属性 复制到输出值:始终复制:
if (File.Exists(path)) { try { SQLiteConnection conn = new SQLiteConnection("Data Source = " + path); conn.Open(); SQLiteDataAdapter dataAdapter = new SQLiteDataAdapter("Select * from 商品", conn); DataSet ds = new DataSet(); dataAdapter.Fill(ds); dataGridView_items.DataSource = ds.Tables[0]; conn.Close(); } catch (System.Exception ex) { MessageBox.Show(ex.Message); } } else { MessageBox.Show("没有找到相关数据库"); }
C# 读取数据,显示再dataggrideView上。 先用excel,后用sqlite3。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。