将EXCEL导入SQL表

合集下载

把excel表格里的数据导入sql数据库的两种方法

把excel表格里的数据导入sql数据库的两种方法

把excel表格⾥的数据导⼊sql数据库的两种⽅法
本来最近在研究微信公众平台的,⽼⼤临时交我个任务,把excel表格⾥的数据导⼊sql数据库,我想这so easy嘛。

没想都在上⾯消磨了两天...
把情况介绍下:在数据库中有如下这样结构的表(A表)
我只取关键的及列⾥⾯还有很多数据。

有⼀张id和name对照的excel⽂件(B表)和N张结构类似的excel表(C表)(没有id那⼀列)
我的任务在B表中找到C表中数据对应的id后,然后将id加到C表中,最后根据id是唯⼀的,⽤C表的数据去更新A表的数据。

这⾥主要涉及了excel表格和数据库表间的转化。

是MySQL for Excel 是excel直接操作mysql数据库的⼀个插件,你可以像修改excel表格⼀样修改数据库,当然也可以进⾏表的合并等。

插件的安装,⼤家百度吧。

在使⽤这个的时候遇到了个问题,MySQL for Excel 能连接到本地的数据库,但在服务器上的数据库总是连接不上。

⽅案⼀破产
这⾥要注意两点⼀是excel表格中的⼿机号码要设置为⽂本格式 ,⼆是统⼀⽤繁体字。

出现空格乱码时,删除空格重写输⼊。

图解把Excel数据导入到SQL Server 2008

图解把Excel数据导入到SQL Server 2008

实验环境:W I N X P,M S O f f i c e E x c e l2007,S q l S e r v e r2008准备数据:Excel文档:D:\test\重复出修率.xlsx方法一:第一步:打开SSMS:【开始】→【所有程序】→【MicrosoftSqlServer2008】→【SqlServerManagementStudio】第二步:连接数据库:在’对象资源管理器’中点击【连接】→【数据库引擎】登陆服务器(P.S:如果没有看到’对象资源管理器’,点击左上角的【视图】→【对象管理器】)第三步:登陆成功后,右击你要导入数据的数据库名,我这里数据库名是’TEST’右击【TEST】→【任务】→【导入数据】这时候会出现一个向导:点击【下一步】在弹出的窗口中,【数据源】选择:MicrosoftExcel;【Excel文件路径】就选择你本地电脑存放Excel文档的路径,我这里是D:\test\重复出修率.xlsx 【Excel版本】选择Excel2007(可以根据你office的版本,选择其他如Excel2003等等。

)选中【首行包含列名称】框,最后点击【下一步】“首行包含列名称”是指Excel中的首行数据插入数据库后将作为新建表的列名.在弹出窗口中,【目标】可以采取默认的,【服务器名称】也是一样可以选择身份验证,最后选择你要插入数据到哪个数据库中。

如我这里选的是’TEST’,选好后点击【下一步】如果就把Excel数据插入一个新表,就选择【复制一个或多个表或视图的数据】如果想把Excel数据插入到已存在的一张表中,则选择下面的【编写查询以指定要传输的数据】我这里是选择上面一个,然后点击【下一步】接着会弹出Excel表中的sheet表名字,如果你没有修改过sheet表名字,则可能显示的是’shee1$’,’shee2$’,’shee3$’等等.然后你选中你想要导入的哪张表的数据,我这里导入的是【’aug$’】选中后,右边的【目标】栏位中会出现内容,dbo是指数据库的架构名,aug$只是新建的表名,如果你想修改表明,双击就可以表明进入编辑状态就可以修改了。

excel中sql应用实例 -回复

excel中sql应用实例 -回复

excel中sql应用实例-回复Excel中SQL应用实例在Excel中,可以应用SQL(Structured Query Language)来进行数据分析和处理,这为用户提供了更多的灵活性和强大的功能。

本文将介绍一些常见的Excel中SQL的应用实例,并一步一步回答相关问题。

1. 如何在Excel中写入SQL查询?在Excel中使用SQL查询,需要先打开Excel并打开工作表。

然后,选择“数据”标签,并点击“来自其他源”下的“从数据库”。

在弹出的对话框中,选择“SQL Server ODBC 驱动程序”,并点击“下一步”。

在接下来的对话框中,输入SQL Server的服务器名称和数据库名称。

如果需要,可以选择特定的表格或视图。

点击“下一步”后,需要输入用户名和密码来连接到数据库。

最后,点击“完成”来完成连接。

2. 如何在Excel中进行基本的数据筛选和排序?在Excel中,可以使用SQL来进行基本的数据筛选和排序。

首先,选择要筛选和排序的数据区域。

然后,在Excel的“数据”标签中,点击“排序和筛选”。

在弹出的菜单中,选择“自定义排序”来按照自定义条件对数据进行排序。

在“排序”对话框中,可以根据需要选择排序字段和排序方式。

点击“确定”后,数据将按照指定的条件进行排序。

要进行数据筛选,可以选择“筛选”选项,并根据需要选择筛选条件。

点击“确定”后,Excel将只显示符合筛选条件的数据。

3. 如何在Excel中进行数据聚合和汇总?在Excel中,可以使用SQL来进行数据聚合和汇总。

首先,选择要聚合和汇总的数据区域。

在Excel的“数据”标签中,选择“透视表”选项。

在弹出的对话框中,选择要使用的数据区域,并将其拖动到透视表的“区域”区域中。

然后,在透视表的“字段列表”中,选择要聚合和汇总的字段。

在透视表的“值”区域中,选择要应用的聚合函数(如计数、求和、平均值等)。

点击“确定”后,Excel将根据指定的字段和聚合函数,生成一个透视表来汇总和显示数据。

sql server 语句 将excel数据插入到数据库表中的语句

sql server 语句 将excel数据插入到数据库表中的语句

sql server 语句将excel数据插入到数据库表中的语句将Excel数据插入到SQL Server数据库表中的方法有以下两种:情况一:Excel数据符合SQL Server数据表字段规则1. 在SQL Server Management Studio中,创建一个与Excel文件相对应的数据库表。

2. 编写SQL语句,使用`BULK INSERT`命令将Excel数据导入到数据库表中。

示例代码如下:```sqlBULK INSERT YourTableNameFROM 'Excel文件路径及文件名.xlsx'WITH (FORMATFILE = 'Excel文件路径及文件名.xlsx',FIRSTROW = 2, --从第二行开始导入数据,第一行为标题行TABLESTRUCTUREONLY = false);```情况二:Excel数据字段数量与SQL Server表字段数量不同1. 创建一个临时表,用于存储Excel数据。

2. 使用`INSERT INTO`语句将Excel数据插入到临时表中。

示例代码如下:```sqlCREATE TEMPORARY TABLE TempTable(Column1 datatype,Column2 datatype,--其他字段按需创建);--填充临时表数据INSERT INTO TempTableSELECT Column1, Column2FROM Excel文件路径及文件名.xlsxWHERE (Column1, Column2) IN (SELECT Column1, Column2FROM YourTableName);--将临时表数据插入到目标表中INSERT INTO YourTableNameSELECT Column1, Column2FROM TempTable;```注意:请根据实际情况替换`YourTableName`、`Excel文件路径及文件名.xlsx`以及数据表字段名称和类型。

Excel文件导入数据到SQL数据库

Excel文件导入数据到SQL数据库

从Excel文件导入数据到SQL数据库将Excel文件gongzibiao.xls中的数据导入到SQL Server 2005中。

----导入数据并生成表在SQL SERVER 2005新建数据库wangzhengwei,然后鼠标右键新建查询,输入select*into MyUser_gz from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 8.0;HDR=YES;DATABASE=D:\胡兴\MyBook2.xls',sheet1$)将生成MyUser_gz表。

如果出现:SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的STATEMENT'OpenRowset/OpenDatasource' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。

系统管理员可以通过使用 sp_configure 启用 'Ad HocDistributed Queries'。

有关启用 'Ad Hoc Distributed Queries' 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。

解决办法是在新建的数据库上右键新建查询,然后输入下面代码:EXEC sp_configure 'show advanced options', 1GORECONFIGUREGOEXEC sp_configure 'Ad Hoc Distributed Queries', 1GORECONFIGUREGO然后再执行select*into MyUser_gz from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 8.0;HDR=YES;DATABASE=D:\胡兴\MyBook2.xls',sheet1$)注意:在执行之前必须把对应的.xls文件关闭。

[SQL]将Excel表数据导入SQL Server2005的几种方法归纳

[SQL]将Excel表数据导入SQL Server2005的几种方法归纳

[SQL]将Excel表数据导入SQL Server2005的几种方法归纳近日在巨轮着手车间负荷数据处理,反馈回来的数据是保存在Excel文件中的,我必须将其导入SQL Server2005中,供存储过程计算。

由于之前没有将Excel数据导入SQL Server2005的经验,因此摸索着花了一天时间才搞定。

下面将网上收集到的几种导入方法做个归纳。

方法一、利用SQL Server2005自带的DTS工具,手工导入:第一步是点击开始并选择运行并输入CMD然后在命令提示符里输入DTSWIZARD。

SQL Server 导入和导出向导的欢迎界面将显示出来,如下图所示:(也可以这样打开该界面:1、登录到 SQL Server Management Studio。

2、在“对象资源管理器”中右键单击“管理”,在弹出列表中单击“导入数据”。

)当你点击下一步按钮时,它将进入选择数据源向导界面。

用户应该选择数据源为Microsoft Office 12.0 Access Database Engine OLE DB Provider 然后在向导界面中点击属性…按钮,它将弹出数据链接属性界面。

在所有标签页中,双击数据源属性值并输入电子数据表的位置,例如“C:\Excel2007\Import\SampleData.xlsx”作为导入数据的数据源的Microsoft Office Excel 2007文件名称和路径。

然后双击扩展属性并选择Excel 12.0作为属性值。

到Microsoft Office Excel 2007的连接可以通过点击测试连接按钮来进行测试,如下图所示:在下一个页面中,数据源需要选为SQL Native Client,因为数据将导入到SQL Server 2005。

然后你需要选择数据所要导入的服务器名称,并需要配置合适的验证模式,它之后跟着数据库名称。

在这个例子中,我们将使用windows验证连接到本地SQL Server实例,所使用的数据库将是ImportExcel。

把Excel表导入SQL数据库的两种方法

把Excel表导入SQL数据库的两种方法

把Excel表导入SQL数据库的两种方法SQLServer自身就有导入功能的1、打开企业管理器,打开要导入数据的数据库,在表上按右键,所有任务-->导入数据,弹出DTS导入/导出向导,按下一步,2、选择数据源 Microsoft Excel 97-2000,文件名选择要导入的xls文件,按下一步,3、选择目的用于SQL Server 的Microsoft OLE DB提供程序,服务器选择本地(如果是本地数据库的话,如 VVV),使用SQL Server身份验证,用户名sa,密码为空,数据库选择要导入数据的数据库(如 client),按下一步,4、选择用一条查询指定要传输的数据,按下一步,5、按查询生成器,在源表列表中,有要导入的xls文件的列,将各列加入到右边的选中的列列表中,这一步一定要注意,加入列的顺序一定要与数据库中字段定义的顺序相同,否则将会出错,按下一步,6、选择要对数据进行排列的顺序,在这一步中选择的列就是在查询语句中 order by 后面所跟的列,按下一步,7、如果要全部导入,则选择全部行,按下一步,8、则会看到根据前面的操作生成的查询语句,确认无误后,按下一步,9、会看到表/工作表/Excel命名区域列表,在目的列,选择要导入数据的那个表,按下一步,10、选择立即运行,按下一步,11、会看到整个操作的摘要,按完成即可。

将EXCEL的数据提出放在数据集中,在通过循环将从表插入<%'On Error Resume Next'导入Excel电子表格数据到SQL Sever数据库Open_Conn(SqlDatabaseName,SqlPassword,SqlUsername,SqlLocalName,SqlConn)'创建数据库连接对象并打开数据库连接Dim ConnStr'SQL Server数据库连接参数:数据库名、用户密码、用户名、连接名(本地用local,外地用IP)ConnStr = "Provider=Sqloledb; User ID=" & SqlUsername & "; Password=" & SqlPassword & "; Initial Catalog = " & SqlDatabaseName & "; Data Source=" & SqlLocalName & ";"Set SqlConn = Server.CreateObject("ADODB.Connection")SqlConn.Open ConnStrIf Err ThenErr.ClearSet SqlConn = NothingResponse.Write "数据连接错误!"Response.EndEnd IfEndClose_Conn(SqlConn)'关闭数据库连接并清除数据库连接对象If IsObject(SqlConn) ThenSqlConn.CloseSet SqlConn = NothingEnd IfEndCall Open_Conn("Shat_EDG","","sa","(local)",SqlConn) '打开本地SQL Server数据库连接Call Open_Conn("Shat_EDG","","sa","ssh03",SqlConn1) '打开远程SQLServer数据库连接Get_EMP_CnName(NTACCNT)'根据用户NT帐号得到用户中文名Dim Sql1,Rs1Sql1 = "Select EMP_CNAME From RF_EMPLOYEE Where EMP_NTACCNT='"&NTACCNT&"'"Set Rs1 = Server.CreateObject("Adodb.RecordSet")Rs1.Open Sql1,SqlConn1,1,1If Rs1.Eof ThenGet_EMP_CnName = ""ElseGet_EMP_CnName = Rs1("EMP_CNAME")End IfRs1.CloseSet Rs1 = NothingEnd %><html><head><title>导入Excel电子表格数据到SQL Sever数据库</title><body bgcolor="#ACD9AF"><center><b>导入Excel电子表格数据到SQL Sever数据库</b></center><FORM METHOD="POST" name="form1">请选择数据源(本地库):<SELECT NAME="Table" title="请选择需要导入数据的表"><option></option><% Dim RsSqlDatabaseTableSet RsSqlDatabaseTable = SqlConn.OpenSchema(20)Do While Not RsSqlDatabaseTable.Eof %><option<%If Trim(Request("Table"))=RsSqlDatabaseTable(2) Then Response.Write " selected"%>><%=RsSqlDatabaseTable(2)%></option> <% RsSqlDatabaseTable.MoveNext:LoopSet RsSqlDatabaseTable = Nothing %></SELECT><input type=submit name=submit ="开始导出"><br>请选择目标表(远程库):<SELECT NAME="Table1" title="请选择需要导入数据的表"><option></option><% Dim RsSqlDatabaseTable1Set RsSqlDatabaseTable1 = SqlConn1.OpenSchema(20)Do While Not RsSqlDatabaseTable1.Eof %><option<%If Trim(Request("Table1"))=RsSqlDatabaseTable1(2) Then Response.Write " selected"%>><%=RsSqlDatabaseTable1(2)%></option> <% RsSqlDatabaseTable1.MoveNext:LoopSet RsSqlDatabaseTable1 = Nothing %></SELECT></FORM><font color=blue>导出过程中请不要刷新页面!</font><br><%If Trim(Request("Table1")) <> "" ThenDim Sql,RsSql = "Select * From Sheet1$" 'Sheet1$是我们实现用SQL Server自身数据转换功能得到的表名Set Rs = SqlConn.Execute(Sql)If Rs.Eof And Rs.Bof ThenResponse.write "没有找到您需要的数据!!<br>"ElseDo While Not Rs.EofSqlInsert = "Insert Into "&Trim(Request("Table1"))&"(EDG_Project_Name,EDG_Project_No,EDG_Project_VM,EDG_Project_VM_CnName ,EDG_Project_M,EDG_Project_M_CnName,EDG_Project_Director,EDG_Project_ Director_CnName) s ('"&Trim(Rs("工程名称"))&"','"&Trim(Rs("工程编号"))&"','"&Trim(Rs("项目副理"))&"','"&Trim(Rs("项目副理"))&" ("&Get_EMP_CnName(Trim(Rs("项目副理")))&")"&"','"&Trim(Rs("项目经理"))&"','"&Trim(Rs("项目经理"))&" ("&Get_EMP_CnName(Trim(Rs("项目经理")))&")"&"','"&Trim(Rs("项目总监"))&"','"&Trim(Rs("项目总监"))&" ("&Get_EMP_CnName(Trim(Rs("项目总监")))&")"&"')"' Response.Write SqlInsert'此处插入的值根据实际数据库结构进行调整SqlConn1.Execute(SqlInsert)'插入Excel表格裏所有东东Rs.MoveNextLoopResponse.Write "<font color=red>恭喜,成功导出数据!^_^</font><br>" End IfRs.CloseSet Rs = NothingEnd IfCall Close_Conn(SqlConn) '关闭Excel数据库连接Call Close_Conn(SqlConn1) '关闭SQL Server数据库连接 %>。

将excel多个表导入sql

将excel多个表导入sql

将excel多个表导⼊sql1. public DataSet GetDataSet(string filePath)2. {3. string Connstr = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" + filePath + "';Extended Properties='Excel 8.0;HDR=Yes;IMEX=1'");4. OleDbConnection Conn = new OleDbConnection(Connstr);5. //创建ArrayList对象存放所有sheetname6. ArrayList sheetNamelist = new ArrayList();7. //获取配置Excel中sheet总数(这⾥是根据项⽬需求配置的) 如果需要导⼊Excel表格所有sheet数据则将此代码删除8. int sheetCount = Convert.ToInt32(ConfigurationManager.AppSettings["sheetCount"].ToString());9. DataSet dsExcel = new DataSet();10. 10. try11. 11. {12. 12. if (Conn.State == ConnectionState.Closed)13. 13. {14. 14. Conn.Open();15. 15. }16. 16. DataTable dtExcelSchema = Conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "Table" });17. 17. string sheetName = string.Empty;18. 18. if (dtExcelSchema.Rows.Count > sheetCount)19. 19. {20. 20. Page.RegisterStartupScript("", "<mce:script type="text/javascript"><!--21. alert('很抱歉!你上传Excel⽂件sheet总数过多不能⼤于10个sheet..!! ')22. // --></mce:script>");1. 23. return;2. 24. }3. 25. else4. 26. {5. 27. for (int j = 0; j < dtExcelSchema.Rows.Count; j++)6. 28. {7. 29. sheetName = String.Format("Sheet{0}$", j + 1);8. 30. sheetNamelist.Add(sheetName);9. 31. }10. 32. }11. 33.12. 34. }13. 35. catch (Exception ex)14. 36. {15. 37. throw new Exception(ex.Message.ToString(), ex);16. 38. }17. 39. finally18. 40. {19. 41. Conn.Close();20. 42. }21. 43. try22. 44. {23. 45. string strSQL = string.Empty;24. 46. for (int i = 0; i < sheetNamelist.Count; i++)25. 47. {26. 48. strSQL = "select * from [" + sheetNamelist[i].ToString() + "]";27. 49. OleDbDataAdapter da = new OleDbDataAdapter(strSQL, Conn);28. 50. DataTable dtExcel = new DataTable(sheetNamelist[i].ToString());29. 51. da.Fill(dtExcel);30. 52. dsExcel.Tables.Add(dtExcel);31. 53. }32. 54. return dsExcel;33. 55. }34. 56. catch (Exception ex)35. 57. {36. 58. throw new Exception(ex.Message.ToString(), ex);37. 59. }38. 60. }39. 61.40. 62. //从Excel 表中取出数据将取出来的数据插⼊到数据库中41. 63. public void InsertData(DataSet ds) {42. 64. string strSQL=string.Empty;43. 65. if (ds.Tables[0].Rows.Count > 0)44. 66. {45. 67. for (int j = 0; j < ds.Tables.Count; j++)46. 68. {47. 69. for(int i=0;i<ds.Tables[j].Rows.Count;i++)48. 70. {49. 71. DataRow dr=ds.Tables[j].Rows[i];50. 72. //组名51. 73. string groupname = dr["组名"].ToString().Trim();52. 74. //联系⼈53. 75. string contactName = dr["联系⼈"].ToString().Trim();54. 76. //⼿机号码55. 77. string mobile = dr["⼿机号码"].ToString().Trim();56. 78. //公司名称57. 79. string companyName = dr["公司名称"].ToString().Trim();58. 80. //公办号码59. 81. string officeNum = dr["办公号码"].ToString().Trim();60. 82. //家庭号码61. 83. string homeNum = dr["家庭号码"].ToString().Trim();62. 84. //邮箱63. 85. string Email = dr["邮箱"].ToString().Trim();64. 86. //联系地址65. 87. string address = dr["联系地址"].ToString().Trim();66. 88. //创建时间67. 89. string createtime = dr["创建时间"].ToString().Trim();68. 90. //性别69. 91. string Sex = dr["性别"].ToString().Trim();70. 92. //⼿机套餐类型71. 93. string mobileType = dr["⼿机套餐类型"].ToString().Trim();72. 94. //是否开通通信助理73. 95. string isOpen = dr["是否开通通信助理"].ToString().Trim();74. 96. //SQL 语句75. 97.strSQL = "insert into msm_Excel(groupName,Mobile,Name,companyName,officeNum,homeNum,Emial,address,Createtime,Sex,mobileType,isOpen)values('" + groupname + "','" + mobile76. 98. try77. 99. {78. 100. int n = SQLHelper.SqlDataExecute(strSQL);79. 101. if (n > 0)80. 102. {81. 103. Page.RegisterStartupScript("", "<mce:script type="text/javascript"><!--104. alert('数据插⼊成功!')105. // --></mce:script>");1. 106. Label1.Text = "⼀共成功插⼊" + ds.Tables[j].Rows.Count.ToString() + "条数据";2. 107. }3. 108. else4. 109. {5. 110. Page.RegisterStartupScript("", "<mce:script type="text/javascript"><!--111. alert('服务器繁忙!请稍候再试..!')112. // --></mce:script>");1. 113. }2. 114. }3. 115. catch (Exception ex)4. 116. {5. 117. throw ex;6. 118. }7. 119. }8. 120. }9. 121. }10. 122.11. 123. else {12. 124. Page.RegisterStartupScript("", "<mce:script type="text/javascript"><!--125. alert('此Excel⽂件中⽆数据')126. // --></mce:script>");1. 127. }2. 128.3. 129. }130. //调⽤131. //获取上传⽂件名1. 132. string fileName = FileUpload1.FileName;2. 133. //判断是否存在上传⽂件3. 134. if (FileUpload1.PostedFile.FileName.Length == 0) {4. 135. Page.RegisterStartupScript("", "<mce:script type="text/javascript"><!--136. alert('请选择你要上传的Excel⽂件!!')137. // --></mce:script>");1. 138. }2. 139. //判断上传的⽂件类型是否正确3. 140.else if (!Path.GetExtension(FileUpload1.PostedFile.FileName).ToLower().Equals(".xls") && !Path.GetExtension(FileUpload1.PostedFile.FileName).ToLower().Equals(".xlsx"))4. 141. {5. 142. Page.RegisterStartupScript("", "<script>alert('很抱歉!你上传的⽂件类型不正确!只能上传Excel类型的⽂件!')</script.");6. 143. }7. 144. else8. 145. {9. 146. //获取上传的⽂件路径10. 147. filePath = Server.MapPath("TxtFiles//") + DateTime.Now.ToString("yyyyMMddhhmmss") + fileName;11. 148. this.FileUpload1.PostedFile.SaveAs(filePath);12. 149. ds = GetDataSet(filePath);13. 150. InsertData(ds);14. 151.15. 152. }。

如何将excel数据导入sql的方法

如何将excel数据导入sql的方法

如何将excel数据导入sql的方法在Excel中录入好数据以后会有些要求需要把EXCEL数据导入到SQL中,其实这个功能使用起来还是很简单的,接下来是店铺为大家带来的如何将excel数据导入sql的方法,希望对你有用。

如何将excel数据导入sql的方法:Excel数据导入SQL步骤1:打开SQL Server Management Studio,按图中的路径进入导入数据界面。

Excel数据导入SQL步骤2:导入的时候需要将EXCEL的文件准备好,不能打开。

点击下一步。

Excel数据导入SQL步骤3:数据源:选择“Microsoft Excel”除了EXCEL类型的数据,SQL还支持很多其它数据源类型。

Excel数据导入SQL步骤4:选择需要导入的EXCEL文件。

点击浏览,找到导入的文件确定。

Excel数据导入SQL步骤5:再次确认文件路径没有问题,点击下一步。

Excel数据导入SQL步骤6:默认为是使用的WINODWS身份验证,改为使用SQL身份验证。

输入数据库密码,注意:数据库,这里看看是不是导入的数据库。

也可以在这里临时改变,选择其它数据库。

Excel数据导入SQL步骤7:选择导入数据EXCEL表内容范围,若有几个SHEET表,或一个SHEET表中有些数据我们不想导入,则可以编写查询指定的数据进行导入。

点击下一步。

Excel数据导入SQL步骤8:选择我们需要导入的SHEET表,比如我在这里将SHEET表名改为price,则导入后生面的SQL数据库表为price$。

点击进入下一步。

Excel数据导入SQL步骤9:点击进入下一步。

Excel数据导入SQL步骤10:在这里完整显示了我们的导入的信息,执行内容,再次确认无误后,点击完成,开始执行。

Excel数据导入SQL步骤11:可以看到任务执行的过程和进度。

Excel数据导入SQL步骤12:执行成功:我们可以看看执行结果,已传输1754行,表示从EXCEL表中导入1754条数据,包括列名标题。

将Excel文件数据导入到SqlServer数据库的三种方案

将Excel文件数据导入到SqlServer数据库的三种方案

将Excel⽂件数据导⼊到SqlServer数据库的三种⽅案最近在⼀个项⽬中需要⽤到Excel⽂件导⼊数据库的功能,本⼈很懒,所以到⽹上搜了⼀堆⽅法,但是通过对⽐,觉得⼀下三种是⽐较好⽤或者不是很常见的⽅法,希望对⼤家有所帮助。

⽅案⼀:通过OleDB⽅式获取Excel⽂件的数据,然后通过DataSet中转到SQL Server,这种⽅法的优点是⾮常的灵活,可以对Excel表中的各个单元格进⾏⽤户所需的操作。

1. openFileDialog = new OpenFileDialog();2. openFileDialog.Filter = "Excel files(*.xls)|*.xls";3.4. if(openFileDialog.ShowDialog()==DialogResult.OK)5. {6. FileInfo fileInfo = new FileInfo(openFileDialog.FileName);7. string filePath = fileInfo.FullName;8. string connExcel = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties=Excel 8.0";9.10. try11. {12. OleDbConnection oleDbConnection = new OleDbConnection(connExcel);13. oleDbConnection.Open();14.15. //获取excel表16. DataTable dataTable = oleDbConnection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);17.18. //获取sheet名,其中[0][1]...[N]: 按名称排列的表单元素19. string tableName = dataTable.Rows[0][2].ToString().Trim();20. tableName = "[" + tableName.Replace("'","") + "]";21.22. //利⽤SQL语句从Excel⽂件⾥获取数据23. //string query = "SELECT classDate,classPlace,classTeacher,classTitle,classID FROM " + tableName;24. string query = "SELECT ⽇期,开课城市,讲师,课程名称,持续时间 FROM " + tableName;25. dataSet = new DataSet();26.27. //OleDbCommand oleCommand = new OleDbCommand(query, oleDbConnection);28. //OleDbDataAdapter oleAdapter = new OleDbDataAdapter(oleCommand);29. OleDbDataAdapter oleAdapter = new OleDbDataAdapter(query,connExcel);30. oleAdapter.Fill(dataSet,"gch_Class_Info");31. //从excel⽂件获得数据后,插⼊记录到SQL Server的数据表32. DataTable dataTable1 = new DataTable();33.34. SqlDataAdapter sqlDA1 = new SqlDataAdapter(@"SELECT classID, classDate,35. classPlace, classTeacher, classTitle, durativeDate FROM gch_Class_Info",sqlConnection1);36.37. //SqlCommandBuilder sqlCB1 = new SqlCommandBuilder(sqlDA1);38.39. sqlDA1.Fill(dataTable1);40.41. foreach(DataRow dataRow in dataSet.Tables["gch_Class_Info"].Rows)42. {43. DataRow dataRow1 = dataTable1.NewRow();44.45. dataRow1["classDate"] = dataRow["⽇期"];46. dataRow1["classPlace"] = dataRow["开课城市"];47. dataRow1["classTeacher"] = dataRow["讲师"];48. dataRow1["classTitle"] = dataRow["课程名称"];49. dataRow1["durativeDate"] = dataRow["持续时间"];50.51. dataTable1.Rows.Add(dataRow1);52. }53.54. Console.WriteLine("新插⼊ " + dataTable1.Rows.Count.ToString() + " 条记录");55. sqlDA1.Update(dataTable1);56.57. oleDbConnection.Close();58.59. }60. catch(Exception ex)61. {62. Console.WriteLine(ex.ToString());63. }64. }⽅案⼆:直接通过SQL语句执⾏SQL Server的功能函数将Excel⽂件转换到SQL Server数据库。

Excel导入Sql

Excel导入Sql

Excel导入SQL方法一:利用BCP导入SQL中,比通过Excel——dataTable——SQL效率高,可用于处理大量数据的Excel实例:通过OpenFileDialog对话框选择Excel,导入数据库Lab中,若Lab中表sheet1已存在则直接导入,不存在则创建sheet1再导入private void button1_Click(object sender, EventArgs e){//测试,将excel中的sheet1导入到sqlserver中string connString = "server=localhost;uid=sa;pwd=llj;database=Lab";System.Windows.Forms.OpenFileDialog fd = new OpenFileDialog();if (fd.ShowDialog() == DialogResult.OK){TransferData(fd.FileName, "sheet1", connString);}}public void TransferData(string excelFile, string sheetName, string connectionString) {DataSet ds = new DataSet();try{//获取全部数据string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + excelFile + ";" + "Extended Properties=Excel 8.0;";OleDbConnection conn = new OleDbConnection(strConn);conn.Open();string strExcel = "";OleDbDataAdapter myCommand = null;strExcel = string.Format("select * from [{0}$]", sheetName);myCommand = new OleDbDataAdapter(strExcel, strConn);myCommand.Fill(ds, sheetName);//如果目标表不存在则创建string strSql = string.Format("if object_id('{0}') is null create table {0}(", sheetName);foreach (System.Data.DataColumn c in ds.Tables[0].Columns){strSql += string.Format("[{0}] varchar(255),", c.ColumnName);}strSql = strSql.Trim(',') + ")";using (System.Data.SqlClient.SqlConnection sqlconn = newSystem.Data.SqlClient.SqlConnection(connectionString)){sqlconn.Open();System.Data.SqlClient.SqlCommand command = sqlconn.CreateCommand();mandText = strSql;command.ExecuteNonQuery();sqlconn.Close();}//用bcp导入数据using (System.Data.SqlClient.SqlBulkCopy bcp = newSystem.Data.SqlClient.SqlBulkCopy(connectionString)){bcp.SqlRowsCopied += newSystem.Data.SqlClient.SqlRowsCopiedEventHandler(bcp_SqlRowsCopied);bcp.BatchSize = 100;//每次传输的行数bcp.NotifyAfter = 100;//进度提示的行数bcp.DestinationTableName = sheetName;//目标表bcp.WriteToServer(ds.Tables[0]);}}catch (Exception ex){System.Windows.Forms.MessageBox.Show(ex.Message);}}//进度显示void bcp_SqlRowsCopied(object sender, System.Data.SqlClient.SqlRowsCopiedEventArgs e) {this.Text = e.RowsCopied.ToString();this.Update();}方法二//思路:将Excle文件导入myDataSet——从Sql中得到SqlDataSet——使用DataTable的ImportRow函数将myDataSet的数据填充到SqlDataSet——使用SqlDataAdapter的Update()函//数更新数据库private DataSet CreateDataSource(){string strConn;strConn = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source =E:\\小学\\b.xls;Extended Properties=Excel 8.0";OleDbConnection conn = new OleDbConnection(strConn);OleDbDataAdapter myCommand = new OleDbDataAdapter("SELECT * FROM [Sheet1$] ", strConn);DataSet myDataSet = new DataSet();myCommand.Fill(myDataSet);return myDataSet;}SqlConnection conn;SqlDataAdapter sda;private Boolean dbUpdate(){conn = new SqlConnection("Server=.;Database=Lab;Trusted_Connection=SSPI;");sda = new SqlDataAdapter("select * from [Lab2]", conn);DataSet ds = new DataSet();sda.Fill(ds);System.Data.DataTable dtUpdate = new System.Data.DataTable();dtUpdate = ds.Tables[0];dtUpdate.Rows.Clear();DataSet dtSet = CreateDataSource();System.Data.DataTable dtShow = dtSet.Tables[0];for (int i = 0; i < dtShow.Rows.Count; i++){dtUpdate.ImportRow(dtShow.Rows[i]);//将dtShow中数据复制到dtUpdate中}this.conn.Open();SqlCommandBuilder CommandBuiler;//自动生成单表命令,用于对DataSet所做的更改于关联的SQL Server数据库的更改相协调CommandBuiler = new SqlCommandBuilder(this.sda);this.sda.Update(dtUpdate);//为dataTable dtUpdate的插入,删除,更改的行调用相应得insert,delete,update语句,即更新数据集,更新数据库this.conn.Close();dtUpdate.AcceptChanges();return true;}private void button1_Click(object sender, EventArgs e){dataGridView1.DataSource = null;dbUpdate();SqlConnection conn = newSqlConnection("Server=.;Database=Lab;Trusted_Connection=SSPI;");SqlDataAdapter sda = new SqlDataAdapter("select * from [Lab2] where 实验室=100", conn);DataSet ds = new DataSet();sda.Fill(ds);dataGridView1.DataSource =ds.Tables[0]; }。

excel表格导入到sql的教程

excel表格导入到sql的教程

excel表格导入到sql的教程
在EXCEL中录入好数据以后经常需要用导入到SQL的数据库里进一步的编辑,或许有的朋友并不知道Excel表格该如何导入到SQL中里去,如果不懂的朋友欢迎一起来学习探索吧。

下面是由店铺分享的excel表格导入到sql的教程,以供大家阅读和学习。

excel表格导入到sql的教程:
Excel表格导入到sql步骤1:选择要导入的数据库---任务---导入数据:
Excel表格导入到sql步骤2:选择excel数据源--浏览文件。

注意如果excel中首行数据为字段,应勾选“首行包含列名称”。

Excel表格导入到sql步骤3:按照提示单击下一步后选择服务器填写验证信息和目标数据库:
Excel表格导入到sql步骤4:点击下一步,确定导入的类型:
Excel表格导入到sql步骤5:选择数据库--选择源表和原视图,如果不选则目标,则会在数据库中自动生成同名的表,并把数据导入进去。

Excel表格导入到sql步骤6:然后默认下一步,无须保存SSIS包,直接默认立即运行:
Excel表格导入到sql步骤7:最后点击完成:。

excell表格数据导入到SQL2000数据库

excell表格数据导入到SQL2000数据库

EXCELL文件导入到SQLSERVER 2000的方法
SQLSERVER 2000数据库的基础数据录入工作是一项比较繁重的体力活,特别是前期已经有了大量的EXCELL数据整理表格,要重新输入到SQL时,方法和效率显得格外重要。

根据我的心得,为大家提供一种简单的方法,实现快速的将EXCELL数据表导入到SQL数据表。

案例使用SQLSERVER 2000
第一步:将整理好的EXCELL另存为文本文件(制表符分隔)
图1
第二步:打开企业管理器,选择数据库,并导入数据
图2
第三步:选择数据源为“文本文件”,并链接另存为的文本文件
第三步:新建数据库和数据表
第四步:导入数据
第五步:查看数据库
这样导入的数据表中,没有主键字段,别忘了去设计数据表,定义主键。

大功告成,祝你工作愉快!。

EXCEL导入SQL主从表?

EXCEL导入SQL主从表?

EXCEL导入SQL主从表?EXCEL导入SQL主从表?SQL code/*openDatasource:不使用连接服务器的名称,而提供特殊的链接信息.使用openDatasource的前提是仅当 DisallowAdhocAccess注册表选项针对指定的提供程序显式设置为 0,并且启用 Ad Hoc Distributed Queries 高级配置选项时,OPENDATASOURCE 才可用于访问 OLE DB 数据源中的远程数据。

如果未设置这些选项,则默认行为不允许即席访问。

*/--代码如下:exec sp_configure 'show advanced options',1reconfigureexec sp_configure 'Ad Hoc Distributed Queries',1reconfigure--(1)例如现在我想打开D盘中BJData.mdb中的BJAdmin表的信息select ID,Title,OwnerName fromopendataSource('Microsoft.Jet.OLEDB.4.0','DataSource="D:\BJData.mdb";')...BJAdmin/*Results:ID Title OwnerName----------- -------------------- --------------------------------------------------1 xinrong4 webmaster admin5 bing webmaster(3 行受影响)*/--(2)我现在要将BJAdmin中BJNewsCategory中的信息插入到A表中--先查询下Test.Newscategoryselect*from Test.dbo.Newscategory/*ID Title----------- --------------------1 MSSQL(1 行受影响)*/insert into Newscategory select Title from OpenDataSource ('Microsoft.Jet.OLEDB.4.0','DataSource="D:\BJData.mdb";')...BJNewsCategory--导入之后再查询select*from Test.dbo.Newscategory/*ID Title----------- --------------------1 MSSQL2 新闻分类3 新闻动态4 工程案例5 膜结构知识6 在建工程(6 行受影响)*/--上面的都是在MSSQL中查询Access中的信息,现在将MSSQL中的信息导入到Access中去--(3)将AdminInfo的信息插入到BJData.mdb中的BJAdmin中去select*from Test.dbo.AdminInfo/*ID Title----------- ------------------------------1 ws_hgo(1 行受影响)*/insert into opendatasource('microsoft.Jet.OLEDB.4.0','Data source="D:/BJData.mdb"')...BJAdmin(Title,RoleID) select Title,1from AdminInfo--然后查询BJAdmin表的信息select ID,Title,OwnerName fromopendataSource('Microsoft.Jet.OLEDB.4.0','DataSource="D:\BJData.mdb";')...BJAdmin/*ID Title OwnerName----------- -------------------- --------------------------------------------------1 xinrong4 webmaster admin5 bing webmaster12 ws_hgo NULL(4 行受影响)*/--(4)上面说的是Access与MSSQl之间的操作现在操作下--Excel与MSSQL之间的操作--从Excel中读取信息('Microsoft.Jet.OLEDB.4.0','DataSource="D:\work.et";Extended properties=Excel 5.0')...[sheet1$] /*EmployeeName Sex Age Post----------- ----------- -------- ------------ws_hgo Boy 23 Senior Programmeryangzhognyuan Boy 24 Programmerchenjing Girl 24 Designer(3 行受影响)--(5)*//*将本地表中的信息导入到远程数据库表中下面的例子将本地whsxjAdmin种的(Title,Password)插入到远程zhongyiAdmin中去*/insert into opendatasource('SQLOLEDB','Data Source=IP地址;User ID=zhongyi;password=xinrongkeji').sqlzhongyi.dbo.zhongyiAd min(Title,Password)select Title,Password from whsxjAdmin--下面说下OPENROWSET/*包含访问 OLE DB 数据源中的远程数据所需的全部连接信息。

表的复制与excel导入sql及excel中sql语句的生成

表的复制与excel导入sql及excel中sql语句的生成

表的复制与excel导入及excel中sql语句的生成1、目标表已存在:Insert into 目标表(a, c, d) select a,c,5 from 来源表2、目标表不存在:select a,c INTO 目标表from 来源表3、将excel导入到sql中(新建数据库,不先建数据表)select * into user_gz fromOPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel8.0;HDR=YES;DA TABASE=d:\gongzibiao.xls',sheet1$)4、将excel导入到sql中(数据库及数据表事先存在)insert into user_gz select * fromOPENROWSET('MICROSOFT.JET.OLEDB.4.0' ,'Excel8.0;HDR=YES; DA TABASE=d:\gongzibiao.xls',sheet1$)5、EXCEL中SQL语句的生成:在单元格中输入如下语句:=("insert into student (number,age , starttime, name)values('"&A2&"',"&B2&",to_date('"&C2&"','yyyy-mm-dd'),'"&D2&"');" )说明:在“=”后面写公式;字符串部分用双引号括起来;to_date()表示为时间;各表格之间用&&相连接;A2表示A列、第2行. "&B2&"无单引号,表数值型。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

将EXCEL表导入SQL表
医院在正式使用软件之前,需要将药品、收费项目等进行集中录入。

这是一件基础工作,工作量大。

如果能够先将药品、收费项目输入到EXCEL表中,再直接导入我们的软件,这样可以加快录入速度。

从EXCEL中导入数据到SQL中,操作步骤如下:
一、准备阶段(主要是为药品或者项目生成六位数的字母编码。

):
首行,需要在EXCEL中增加一列,为药品生成编码。

软件默认的编码格式为六位字母。

1、人工录入完成的EXCEL表样式:
请将第一行中的编码、名称、处方单位等中文改成对应的拼音字母:
编码(bm)、药品名称(mc)、处方单位(dw)、整量单位(kxdw)、换算系数(xs)、规格(ggxh)、零售价(lsj)、药品分类(zxfl)
1、这时,编码(bm)列为空,在灵图医院软件中,药品的编码格式为六位字母,如AAAABA、AAAABB
等,但如何能够按顺序生成这样的编码呢?操作步骤如下:
A、依次点工具-宏-visaul basic 编辑器,新弹出窗口如下:
B、在左边的对象上,右键,选择“导入文件…”,在文件选择路径中,找到医院软件目录中的bm.bas
文件,确定。

C、这时,在“模块”下方将增加“自动编码”模块,
D、关掉本窗口,返回到EXCEL窗口
2、在表的A2单元格中输入编码:AAAABA
3、选中A3单元格,在上面的公式条中输入=GETNEXTBM(A2),回车确认,则A3单元格中的值自
动生成为:AAAABB
4、选中A3单元格,往下拉,所有的编码将自动生成。

二、将EXCEL表导入SQL表
1、依次打开SQL的企业管理器-数据库-表,如图:
2、将光标放在数据库(如:lingtu)上,单击右键,选择所有任务-导入数据。

弹开如下窗口:
3、按下一步,在弹开的窗口中选择正确的数据源。

(注意:数据源选择为Microsoft Excel 97-2000)
5、点“下一步”,弹开目的文件夹窗口:
6、按下一步,选择用一条查询来指定需要传输的数据:
7、点:下一步,点查询生成器命令,弹开如下窗口:
8、选择左边的yp$,点向右的箭头,选中所需要还原的列。

如图:
9、点下一步,不需要选择排序,继续下一步,直至出现下面的界面:
10、按下一步,这时出现如下界面:
注意:目的默认为“结果”,需要选择为“yp”表,表示这个EXCEL表还原到yp表。

11、点“下一步”,完成还原。

相关文档
最新文档