C# winform程序 excel导入Sqlite数据库(批量新增),求大神看看我的代码
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# winform程序 excel导入Sqlite数据库(批量新增),求大神看看我的代码相关的知识,希望对你有一定的参考价值。
以下的代码也是我在网上找的,但是出错了,我给你们代码,麻烦大神给我看看。我介绍下,点击textEdit,打开对话框,选择excel文件,然后点击确认导入。namespace TenderClear.UI.Forms.TC01 public partial class TC010103Form : DevExpress.XtraEditors.XtraForm public TC010103Form() InitializeComponent(); DataTable dt = new DataTable(); DataGridView dgv=new DataGridView(); private void txtExcel_Click(object sender, EventArgs e) //打开excel选择框 OpenFileDialog frm = new OpenFileDialog(); frm.Filter = "Excel文件(*.xls,xlsx)|*.xls;*.xlsx"; if (frm.ShowDialog() == DialogResult.OK) txtExcel.Text = frm.FileName; bind(txtExcel.Text); private void bind(string fileName) string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + fileName + ";" + "Extended Properties=Excel 8.0;"; OleDbDataAdapter da = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", strConn); DataSet ds = new DataSet(); try da.Fill(ds); dt = ds.Tables[0]; this.dgv.DataSource = dt; catch (Exception err) MessageBox.Show("操作失败!" + err.ToString()); private void simpleButton2_Click(object sender, EventArgs e) if (dgv.Rows.Count > 0) DataRow dr = null; for (int i = 0; i < dt.Rows.Count; i++) dr = dt.Rows[i]; insertToSql(dr); MessageBox.Show("导入成功!"); else MessageBox.Show("没有数据!"); private void insertToSql(DataRow dr) //excel表中的列名和数据库中的列名一定要对应 string xmlx = dr["XMLX"].ToString(); string xmbm = dr["XMXM"].ToString(); string xmmc = dr["XMMC"].ToString(); string xmdw = dr["XMDW"].ToString(); string dydj = dr["DYDJ"].ToString(); string zyxf = dr["ZYXF"].ToString(); string xmnr = dr["XMNR"].ToString(); DateTime kssj = Convert.ToDateTime(dr["Major"].ToString()); DateTime jssj = Convert.ToDateTime(dr["Major"].ToString()); int count=BLL10101.InsertOrUpdate(xmlx,xmbm,xmmc,xmdw,dydj,zyxf,xmnr,kssj,jssj);
参考技术A 类 BLL10101 的代码还不完整,没法判断。也就是你代码的最后一句,用了BLL10101的InsertOrUpdate方法,但是这个方法具体是怎么写的,你的代码没有贴出来。另外,他的源代码要求数据的格式为:(xmlx,xmbm,xmmc,xmdw,dydj,zyxf,xmnr,kssj,jssj) ,你要看看你自己的数据是不是这个格式。 参考技术B 大佬 好了吗 求分享啊 参考技术C 改项目属性里的目标平台为x86追问我电脑是64位的,上面图片的错误是电脑64位的原因?
追答项目名-右键-属性-生成
追问我看了下,是any cpu,我上面的出错,到底是哪里出错了?
追答我说了 改成 x86
本回答被提问者采纳c#如何在winform中打开一个excel文档呢
下载一个DsoFramer.ocx,然后用regsvr32 path\DsoFramer.ocx注册一下,path指dsoframer.ocx的路径。在vs.net 工具栏中添加这个com组件。将控件拖到窗体上,用组件的CreateNew方法可能从模板或通过"Excel.Sheet"创建Excel工作表了。
你还可通过组件的getApplication方法得到服务器,对工作表进行任意操作。 参考技术A var xlsApp = new Excel.Application();
var wb = xlsApp.Workbooks.Open(Filename: "待打开的 xls 文件名");
xlsApp.Visible = true;本回答被提问者采纳
以上是关于C# winform程序 excel导入Sqlite数据库(批量新增),求大神看看我的代码的主要内容,如果未能解决你的问题,请参考以下文章