Excel表excel 批量导入图片SQL Server 2008

将指定文件夹下结构相同的EXCEL文件批量导入到SQL数据库中指定的表-mssql-电脑编程网将指定文件夹下结构相同的EXCEL文件批量导入到SQL数据库中指定的表作者:htl258 和相关&&问题贴:http://topic.csdn.net/u//023ad45b-c60e--922a149db23c.html?seed=由于时间仓促,水平有限,不对的地方,欢迎大家指正!SQL code
--------------------------------------------------------------------------
--
Author : htl258(Tony)
--
21:09:45
--
Version:Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (Intel X86)
Copyright (c)
Microsoft Corporation
--
Developer Edition on Windows NT 5.1 &X86& (Build 2600: Service Pack 2)
--
Subject:将指定文件夹下结构相同的EXCEL文件批量导入到SQL中指定的表
--------------------------------------------------------------------------
IF OBJECT_ID('Sp_InputExceltoSQL') IS NOT NULL
DROP PROC Sp_InputExceltoSQL
GO
CREATE PROC Sp_InputExceltoSQL
@dir NVARCHAR(100),--EXCEL文件存放路径:如D:\ExcelFiles
@tabname NVARCHAR(50) --定义导入到中的表名
AS
SET NOCOUNT ON
DECLARE @cmd NVARCHAR(1000)
CREATE TABLE #t([filename] NVARCHAR(1000))
IF RIGHT(@dir,1)&&'\'
SET @dir=@dir+'\'
SET @cmd = N'dir &' + @dir + '*.xls& /B'
INSERT #t EXEC master..xp_cmdshell @cmd
DELETE #t WHERE [filename] IS NULL
--在SQL中创建表:
DECLARE @S nvarchar(MAX)
IF OBJECT_ID(@tabname) IS NULL
BEGIN
SELECT TOP 1 @S='SELECT TOP 0 * INTO '+ @tabname+' FROM OPENROWSET(
''MICROSOFT.JET.OLEDB.4.0'', ''EXCEL 5.0;HDR=YES;IMEX=2;DATABASE='+@DIR+[filename]+'''
,''SELECT * FROM [Sheet1$]'')'
EXEC(@S)
END
--开始导入目录下的文件
SET @S = ''
SELECT @S = @S + 'INSERT '+@tabname+' SELECT * FROM OPENROWSET(
''MICROSOFT.JET.OLEDB.4.0'', ''EXCEL 5.0;HDR=YES;IMEX=2;DATABASE='+@DIR+FILENAME+'''
,''SELECT * FROM [Sheet1$]'')'
EXEC(@S)
SET NOCOUNT OFF
GO
EXEC Sp_InputExceltoSQL 'D:\ExcelFiles','Tony'
SELECT * FROM Tony
/*
a
d
---------------------- ---------------------- ---------------------- ----------------------
1
8
(2 行受影响)
*/
------回答---------------其他回答---------SFFFFFFFF------其他回答---------学习.------其他回答---------UP,------其他回答---------xuexi------其他回答---------学习。------其他回答---------学习..------其他回答---------复习..------其他回答---------这种方法在内部实现上可能还是基于ADO的,即把EXCEL表当作一张数据库表来读取,前提是EXCEL表格为简单的列表------其他回答---------咦,P梁和小F的MVP牌牌怎么没见,藏起来了?------其他回答---------学习..------其他回答---------高手呀,学习了。------其他回答---------那在网页中该怎么写啊。------其他回答---------dingdingding------其他回答---------study all times------其他回答---------SFFFFFFFF------其他回答---------学习一下,导入试试------其他回答---------引用楼主 htl258 的回复:问题贴:http://topic.csdn.net/u//023ad45b-c60e--922a149db23c.html?seed=由于时间仓促,水平有限,不对的地方,欢迎大家指正!SQL code----------------------------------------------------------……这个比较好------其他回答---------学习...............------其他回答---------路过,学习》。。------其他回答---------学习..................------其他回答---------学习。------其他回答---------MARK------其他回答---------学习。。。恩。。。。------其他回答---------正在学习,共同进步------其他回答---------呵呵呵看看不错------其他回答---------不错不错...学习了...谢谢!------其他回答---------学习,多学知识------其他回答---------楼主再写个支持 2007的吧 ------其他回答---------再来个txt的------其他回答---------学习下!!------其他回答---------学习..------其他回答---------学习,感谢楼主------其他回答---------学习,感谢楼主------其他回答---------xu学习一下,谢谢------其他回答---------jffffff------其他回答---------学到的额------其他回答---------------其他回答---------怎么做到的哦 请教一下哦相关资料:|||||||将指定文件夹下结构相同的EXCEL文件批量导入到SQL数据库中指定的表来源网络,如有侵权请告知,即处理!编程Tags:                &                    最近想练习一下批量插入数据,所以从网上找了一下资料,做了一个怎么把Excel文件数据导入到数据库。
private void AddManyData_Click(object sender, RoutedEventArgs e)
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.Filter = "Excel文件|*.xls";
if ((bool)openFileDialog.ShowDialog())
FileInfo fileInfo = new FileInfo(openFileDialog.FileName);
string filePath = fileInfo.FullN
string connExcel = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties=Excel 8.0";
using (OleDbConnection oleDbConn = new OleDbConnection(connExcel))
oleDbConn.Open();
//获取excel表
DataTable dt = oleDbConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
//获取Excel表的表名
string tableName = dt.Rows[0][2].ToString().Trim();
//去掉空格
tableName = "[" + tableName.Replace("'", "") + "]";
//利用SQL语句从Excel文件里获取数据
string query = @"SELECT 学号,姓名,公益劳动,电子工艺实习,操作系统 ,计算机组成,数值分析,网络设备与集成,动态网站开发实验周,动态网站开发,均分,排名 FROM "                   + tableN
DataSet dataSet = new DataSet();
using (OleDbCommand oleDbcomm = oleDbConn.CreateCommand())
mandText =
OleDbDataAdapter oleAdapter = new OleDbDataAdapter(oleDbcomm);
oleAdapter.Fill(dataSet);
string connStr = "Data Source=HESHUHUA-PC;Initial Catalog=RSMSIntegrated Security=True";
//利用SqlBulkCopy批量插入数据
using (SqlBulkCopy sqlbc = new SqlBulkCopy(connStr))
sqlbc.DestinationTableName = "T_StuScore";
// sqlbc.ColumnMappings.Add("学号", "StuNum"),第一个参数对应数据库中的列名,
//第二个参数对应数据库中相应表的列名
sqlbc.ColumnMappings.Add("学号", "StuNum");
sqlbc.ColumnMappings.Add("姓名", "StuName");
sqlbc.ColumnMappings.Add("公益劳动", "Activity");
sqlbc.ColumnMappings.Add("电子工艺实习", "ElecAct");
sqlbc.ColumnMappings.Add("操作系统", "OprationSystem");
sqlbc.ColumnMappings.Add("计算机组成", "ComputerMaded");
sqlbc.ColumnMappings.Add("数值分析", "DataAnalyze");
sqlbc.ColumnMappings.Add("网络设备与集成", "NetWork");
sqlbc.ColumnMappings.Add("动态网站开发实验周", "WebWeek");
sqlbc.ColumnMappings.Add("动态网站开发", "WebMake");
sqlbc.ColumnMappings.Add("均分", "AvScore");
sqlbc.ColumnMappings.Add("排名", "StuPaiMing");
sqlbc.WriteToServer(dataSet.Tables[0]);
MessageBox.Show("数据导入成功!");
阅读(...) 评论()& & & & 本来最近在研究微信公众平台的,老大临时交我个任务,把excel表格里的数据导入sql数据库,我想这so easy嘛。 没想都在上面消磨了两天...& & 把情况介绍下:在数据库中有如下这样结构的表(A表)& & 我只取关键的及列里面还有很多数据。& & 有一张id和name对照的excel文件(B表)和N张结构类似的excel表(C表)(没有id那一列)& & & & 我的任务在B表中找到C表中数据对应的id后,然后将id加到C表中,最后根据id是唯一的,用C表的数据去更新A表的数据。这里主要涉及了excel表格和数据库表间的转化。& & 方案一: 用excel+MySQL for Excel处理& & & & 是MySQL for Excel 是excel直接操作mysql数据库的一个插件,你可以像修改excel表格一样修改数据库,当然也可以进行表的合并等。 插件的安装,大家百度吧。& & 在使用这个的时候遇到了个问题,MySQL for Excel 能连接到本地的数据库,但在服务器上的数据库总是连接不上。。。。方案一破产& & 方案二: 把excel表直接导入数据库,用sql语句进行操作。& & 这里要注意两点 一是excel表格中的手机号码要设置为文本格式 ,二是统一用繁体字 。出现空格乱码时,删除空格重写输入。& & 您可能感兴趣的文章:EXCEL数据上传到SQL SERVER中的简单实现方法Asp.net中把Excel数据存储至SQL Server中的具体实现方法如何把Excel数据导入到SQL2008数据库的实例方法ASP将Excel数据导入到SQLServer的实现代码Excel导入Sqlserver数据库脚本Excel数据导入Mysql数据库的实现代码& & QQ空间
百度搜藏更多& & Tags:excel 数据 sql& & 复制链接收藏本文打印本文关闭本文返回首页& & 上一篇:查询存储过程中特定字符的方法& & 下一篇:SQL SERVER 2000通讯管道后复用劫持& & 相关文章使用mongovue把sqlserver数据导入mongodb的步骤sqlserver 修改列名及表名的sql语句Sql function 多行中的列合并为一行一列的方法SQL Server的基本功能性语句介绍SQL高级应用之使用SQL查询Excel表格数据的方法配置 SQL Server 2005 以允许远程连接的方法drop,truncate与delete的区别如何控制SQLServer中的跟踪标记SQLServer中临时表与表变量的区别分析ADO.NET数据连接池剖析& & 文章评论& & 最 近 更 新& & 解决SQL Server虚拟内存不足情况SQL2000 全文索引完全图解没有sa密码无法集成windows身份验证登录的小议sqlserver数据库主键选取策略使用BULK INSERT大批量导入数据 SQLSERVE获取MSSQL 表结构中字段的备注、主键等信Sql Server中一个表2个字段关联同一个表(Sql学习第四天——SQL 关于with cube,wit为数据库生成某个字段充填随机数的存储过sql server的一个有趣的bit位运算分享& & 热 点 排 行& & SQL Server 2008图文安装教程SQL Server 2012 安装图解教程(附sqlserver中distinct的用法(不重SQL Server导入、导出、备份数据SQL语句去掉重复记录,获取重复记SQL Server数据库入门学习总结SQL Server错误代码大全及解释(sql convert函数使用小结sql 时间函数 整理的比较全了用SQL语句添加删除修改字段、一些
声明:该文章系网友上传分享,此内容仅代表网友个人经验或观点,不代表本网站立场和观点;若未进行原创声明,则表明该文章系转载自互联网;若该文章内容涉嫌侵权,请及时向
论文写作技巧
上一篇:下一篇:
相关经验教程2008年 总版技术专家分年内排行榜第二
2010年 总版技术专家分年内排行榜第四2009年 总版技术专家分年内排行榜第五2007年 总版技术专家分年内排行榜第六
本帖子已过去太久远了,不再提供回复功能。waldens 的BLOG
用户名:waldens
文章数:268
评论数:93
访问量:142320
注册日期:
阅读量:5863
阅读量:12276
阅读量:359722
阅读量:1055711
51CTO推荐博文
& & 将Excel2007导入SQL Server2008操作方法其实有两种,一种方法可以通过命令行方式,一种方法通过图形化界面就可以轻松实现。
第一种方法:
&--首先打开SSMS,然后点击左上角的【新建查询(N)】,在右边弹出的窗口中输入一下代码:
----------------------------------------------------------------------------------------
use&TEST&&& --- &TEST&是数据库名字,你可以切换到你想要的数据库或直接输入数据库名字
----根据系统需要使用这几段批处理命令打开相应功能
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
EXEC sp_configure 'Ad Hoc Distributed Queries', 1;
RECONFIGURE;
----以上为根据实际情况的可选命令&
----开始插入数据到TEST数据库的一个新表中
select& * &into newtable_name& &from
OpenDataSource('Microsoft.Ace.OLEDB.12.0','Data Source=&c:\daoru.xlsx&;Extended properties=&Excel 12.0;HDR=Yes&')...[sheet1$]
------------------------------------------------------------------------
1: 执行这段代码之前,你需要准备导入的数据。 我用的是Excel 2007,& Excel文件的名字为&daoru&,放在C盘目录下。
2:& 代码中的select * into newtable_name &from ...&& 这是把excel中的数据插入到TEST数据库中,并同时新建表名为newtable_name存放插入的数据.
3:& & 代码中的Office2007的数据库驱动为&Microsoft.Ace.OLEDB.12.0&,
&&&&&&&如果是Office2003的话应改成&Microsoft.Jet.OLEDB.4.0&,
&&&&&& 还有Office2007中Excel的&Extended properties&中为&Excel 12.0&&& 而Office2003为&Excel 8.0&
4:&& 代码中'Data Source=&c:\daoru.xlsx& 就是要导入数据的文件存放路径. (注意后缀:Excel 2007的为.Excel& 2003的为.xls)
5:&& 代码中的...[sheet1$]& 为表名,格式为:[XXX$]或者XXX$,不需要中括号也行,而且表名不能以数字开头(其实这是几乎所有编程语言的变量命名规则),切记!& 没有修改过名字的话,Excel默认是shee1,shee2,shee3....
6:&& 当然,你也可以使导入的数据,不用新建表.而是直接导入到数据库已有的表中, 只要稍微修改代码就可以了.
---------------------------------------------------------------------------------------
&&&& insert into 已存在的表名& (字段一,字段二)&&&& select& A,B&&&from
&&&& OpenDataSource('Microsoft.Ace.OLEDB.12.0','Data Source=&c:\daoru.xlsx&;Extended properties=&Excel 12.0;HDR=Yes&')...[sheet1$]
---------------------------------------------------------------------------------------
代码二中,A,B表示的意思是Excel中的A列和B列, 但是直接输入A,B是没有用的.
这里还要提醒一点,导入数据的时候,系统默认Excel的第一行数据是字段名.
所以,你可以把Excel的第一行的前两列数据改为A和B,这样就可以了!&
如果Excel中的列数和数据库中的已存在的表的列数相等,也可以改成如下:
---------------------------------------------------------------------------------------
&&&& insert into 已存在的表名&& select& *&&from
&&&& OpenDataSource('Microsoft.Ace.OLEDB.12.0','Data Source=&c:\daoru.xlsx&;Extended properties=&Excel 12.0;HDR=Yes&')...[sheet1$]
第二种方法:
&当然,我们可以利用Data Import for Sql Server等工具来导入,也可以利用SQL Server 2008的DTS导入(在SQL Server Management Studio的选择你要导入到的数据库如:TEST,右键选择&任务&&&&导入数据&即可.
650) this.width=650;" src="/images//4911.jpg" alt="" style="margin: 0 padding: 0 border: 0 " />本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)}

我要回帖

更多关于 excel 批量导入图片 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信