编程资料excel导入sql代码.docx
- 文档编号:2393198
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:12
- 大小:17.92KB
编程资料excel导入sql代码.docx
《编程资料excel导入sql代码.docx》由会员分享,可在线阅读,更多相关《编程资料excel导入sql代码.docx(12页珍藏版)》请在冰豆网上搜索。
编程资料excel导入sql代码
1.在界面添加一个textBox和2个button按钮,分别为:
txtPath,btnView(浏览),btnSure(确定导入)
2.点击右边的项目引用->添加引用->浏览->找到GemBox.ExcelLite.dll,然后点击确定。
在.cs文件里面添加usingGemBox.ExcelLite;
3.新建一个公共类usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Collections;
usingSystem.Windows.Forms;
usingGemBox.ExcelLite;
usingSystem.Data.SqlClient;
usingSystem.Data;
usingSystem.Data.OleDb;
usingSystem.IO;
usingModel;
usingDAL;
namespaceExamSystwmServer
{
publicclassCommonExcel
{
#region获取Excel数据表列表
///
///获取Excel数据表列表
///
///
///
publicstaticArrayListGetExcelTables(stringFilePath)
{
//将Excel架构存入数据里
DataTabledt=newDataTable();
ArrayListTablesList=newArrayList();
if(File.Exists(FilePath))
{
using(OleDbConnectionconn=newOleDbConnection("Provider=Microsoft.Ace."+
"OLEDB.12.0;ExtendedProperties=\"Excel12.0\";DataSource="+FilePath))
{
try
{
conn.Open();
dt=conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,newobject[]{null,null,null,"TABLE"});
}
catch(Exceptionex)
{
MessageBox.Show(ex.Message);
}
//获取数据表个数
inttablecount=dt.Rows.Count;
for(inti=0;i { stringtablename=dt.Rows[i][2].ToString().Trim().TrimEnd('$'); if(TablesList.IndexOf(tablename)<0) { TablesList.Add(tablename); } } } } returnTablesList; } #endregion #region导入Excel数据表至DataTable(第一行作为表头) /// ///导入Excel数据表至DataTabl /// /// /// publicstaticDataSetFillDataSet(stringFilePath) { if(! File.Exists(FilePath)) { MessageBox.Show("Excel文件不存在! ","提示",MessageBoxButtons.OK,MessageBoxIcon.Information); returnnull; } ArrayListTableList=newArrayList(); TableList=GetExcelTables(FilePath); if(TableList.Count<=0) { returnnull; } DataTabledt; DataSetds=newDataSet(); OleDbConnectiondbcon=newOleDbConnection(@"Provider=Microsoft.Ace.OLEDB.12.0;DataSource="+FilePath+";ExtendedProperties=Excel12.0"); try { if(dbcon.State==ConnectionState.Closed) { dbcon.Open(); } for(inti=0;i { stringdtname=TableList[i].ToString(); try { OleDbCommandcmd=newOleDbCommand("select*from["+dtname+"$]",dbcon); OleDbDataAdapteradapter=newOleDbDataAdapter(cmd); dt=newDataTable(dtname); adapter.Fill(dt); ds.Tables.Add(dt); TurnToID(refds); } catch(Exceptionex) { MessageBox.Show(ex.Message); } } } finally { if(dbcon.State==ConnectionState.Open) { dbcon.Close(); } } returnds; } #endregion #region把班级名称换为班级ID /// ///把班级名称换为班级ID /// /// publicstaticvoidTurnToID(refDataSetds) { UserDALuserDAL=newUserDAL(); userDAL.SelectClassID(refds); for(inti=0;i { for(intj=0;j { if(ds.Tables[0].Rows[i][0].Equals(ds.Tables[1].Rows[j][1])) { ds.Tables[0].Rows[i][0]=ds.Tables[1].Rows[j][0]; ds.Tables[0].Rows[i][0]=Convert.ToInt32(ds.Tables[0].Rows[i][0]); } } } } #endregion #regionExcel导入数据库 /// ///Excel导入数据库 /// /// /// publicstaticDataSetImportFromExcel(stringFilePath) { returnFillDataSet(FilePath); } #endregion } } 4.在btnView的Click事件里面: (注: 把Excel的路径加载到txtPath文本框里面) using(OpenFileDialogdialog=newOpenFileDialog()) { dialog.Multiselect=true; if(dialog.ShowDialog()==DialogResult.OK) { try { txtPath.Text=dialog.FileName; } catch { MessageBox.Show("文件路径错误! ","错误信息",MessageBoxButtons.OK,MessageBoxIcon.Error); } } } 5.在btnSure的Click事件里面: privatevoidbtnSure_Click(objectsender,EventArgse) { if(this.txtPath.Text.Trim()=="") { MessageBox.Show("路径不能为空! ","提示: ",MessageBoxButtons.OK,MessageBoxIcon.Information); return; } ds=CommonExcel.ImportFromExcel(this.txtPath.Text.Trim()); DataTabledt=ds.Tables[0]; try { stringstrInsertComm; for(inti=0;i { intid=0; stringsno=""; stringpwd=""; stringname=""; for(intj=0;j { if(j==1) { sno=dt.Rows[i][j].ToString().Trim(); } elseif(j==2) { pwd=dt.Rows[i][j].ToString().Trim(); } elseif(j==3) { name=dt.Rows[i][j].ToString().Trim(); } else { id=Convert.ToInt32(dt.Rows[i][j].ToString().Trim()); } } strInsertComm="InsertintoStudent(CID,SNO,SPWD,SNAME)values("+id+",'"+sno+"','"+pwd+"','"+name+"')"; userDAL.InsertStudent(strInsertComm); } MessageBox.Show("导入成功! ","提示信息",MessageBoxButtons.OK,MessageBoxIcon.Information); } catch(Exce
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编程 资料 excel 导入 sql 代码