包含excel拼接sql的词条
本篇文章给大家谈谈excel拼接sql,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、C#中如何将Excel中的数据批量导入到sql server?
- 2、如何才能用EXCEL去连接SQL 数据库读取数据!!!!
- 3、怎样将EXCEL数据表导入到SQL中
- 4、Excel 如何使用SQL语句联接两个表中的数据
- 5、excel怎么连接sql数据库
- 6、如何把Excel数据转化成SQL语句
C#中如何将Excel中的数据批量导入到sql server?
1.本文实现在c#中可高敏桥咐效的将excel数据导入到桥纯sqlserver数据库中,很多人通过循环来拼接sql,这样做不但容消纤易出错而且效率低下,最好的办法是使用bcp,也就是System.Data.SqlClient.SqlBulkCopy 类来实现。不但速度快,而且代码简单,下面测试代码导入一个6万多条数据的sheet,包括读取(全部读取比较慢)在我的开发环境中只需要10秒左右,而真正的导入过程只需要4.5秒。\x0d\x0a2.代码如下:\x0d\x0ausing System; \x0d\x0ausing System.Data; \x0d\x0ausing System.Windows.Forms; \x0d\x0ausing System.Data.OleDb; \x0d\x0anamespace WindowsApplication2 \x0d\x0a{ \x0d\x0a public partial class Form1 : Form \x0d\x0a { \x0d\x0a public Form1() \x0d\x0a { \x0d\x0a InitializeComponent(); \x0d\x0a } \x0d\x0a\x0d\x0a private void button1_Click(object sender, EventArgs e) \x0d\x0a { \x0d\x0a //测试,将excel中的sheet1导入到sqlserver中 \x0d\x0a string connString = "server=localhost;uid=sa;pwd=sqlgis;database=master"; \x0d\x0a System.Windows.Forms.OpenFileDialog fd = new OpenFileDialog(); \x0d\x0a if (fd.ShowDialog() == DialogResult.OK) \x0d\x0a { \x0d\x0a TransferData(fd.FileName, "sheet1", connString); \x0d\x0a } \x0d\x0a } \x0d\x0a\x0d\x0a public void TransferData(string excelFile, string sheetName, string connectionString) \x0d\x0a { \x0d\x0a DataSet ds = new DataSet(); \x0d\x0a try\x0d\x0a { \x0d\x0a //获取全部数据 \x0d\x0a string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + excelFile + ";" + "Extended Properties=Excel 8.0;"; \x0d\x0a OleDbConnection conn = new OleDbConnection(strConn); \x0d\x0a conn.Open(); \x0d\x0a string strExcel = ""; \x0d\x0a OleDbDataAdapter myCommand = null; \x0d\x0a strExcel = string.Format("select * from [{0}$]", sheetName); \x0d\x0a myCommand = new OleDbDataAdapter(strExcel, strConn); \x0d\x0a myCommand.Fill(ds, sheetName); \x0d\x0a\x0d\x0a //如果目标表不存在则创建 \x0d\x0a string strSql = string.Format("if object_id('{0}') is null create table {0}(", sheetName); \x0d\x0a foreach (System.Data.DataColumn c in ds.Tables[0].Columns) \x0d\x0a { \x0d\x0a strSql += string.Format("[{0}] varchar(255),", c.ColumnName); \x0d\x0a } \x0d\x0a strSql = strSql.Trim(',') + ")"; \x0d\x0a\x0d\x0a using (System.Data.SqlClient.SqlConnection sqlconn = new System.Data.SqlClient.SqlConnection(connectionString)) \x0d\x0a { \x0d\x0a sqlconn.Open(); \x0d\x0a System.Data.SqlClient.SqlCommand command = sqlconn.CreateCommand(); \x0d\x0a command.CommandText = strSql; \x0d\x0a command.ExecuteNonQuery(); \x0d\x0a sqlconn.Close(); \x0d\x0a } \x0d\x0a //用bcp导入数据 \x0d\x0a using (System.Data.SqlClient.SqlBulkCopy bcp = new System.Data.SqlClient.SqlBulkCopy(connectionString)) \x0d\x0a { \x0d\x0a bcp.SqlRowsCopied += new System.Data.SqlClient.SqlRowsCopiedEventHandler(bcp_SqlRowsCopied); \x0d\x0a bcp.BatchSize = 100;//每次传输的行数 \x0d\x0a bcp.NotifyAfter = 100;//进度提示的行数 \x0d\x0a bcp.DestinationTableName = sheetName;//目标表 \x0d\x0a bcp.WriteToServer(ds.Tables[0]); \x0d\x0a } \x0d\x0a } \x0d\x0a catch (Exception ex) \x0d\x0a { \x0d\x0a System.Windows.Forms.MessageBox.Show(ex.Message); \x0d\x0a }\x0d\x0a } \x0d\x0a\x0d\x0a //进度显示 \x0d\x0a void bcp_SqlRowsCopied(object sender, System.Data.SqlClient.SqlRowsCopiedEventArgs e) \x0d\x0a { \x0d\x0a this.Text = e.RowsCopied.ToString(); \x0d\x0a this.Update(); \x0d\x0a }\x0d\x0a } \x0d\x0a} \x0d\x0a3.上面的TransferData基本可以直接使用,如果要考虑周全的话,可以用oledb来获取excel的表结构,并且加入ColumnMappings来设置对照字段,这样效果就完全可以做到和sqlserver的dts相同的效果了。
如何才能用EXCEL去连接SQL 数据库读取数据!!!!
1、首先打开SQL Server数据库,准备一个银纯要导入的数据表,如下图所示,数据表中插入一些数据
2、接下来打开Excel软件,点击数据菜单,然后选择悉搏友其他来源下面的来自SQL Server选项
3、然后会弹出数据库连接向导界面,在输入框里面输入服务器名称,也就是计算机名
4、接下来就会出现导入内容的具体设置界面了,我们选择要导入表,并且选择一个空白单元格位置作为数据的导入位置
5、最后点击确定按钮,我们就睁槐可以看到SQL Server中的数据就导入进Excel里了
[img]怎样将EXCEL数据表导入到SQL中
第敏慧一步:登录到
sql
server
management
studio
第二差颂步:在
“对象资源管理器
”中右键单击
“管理
”,在弹出列表中单击
“导入数据
”
第三步:在
“导入向导
”对话框中单击
“下一步
”,进入到
“选择数据源
”对话框,在
“数据源
”列表中桥庆答选择
“microsoft
excel
”,同时选择相应的
excel
文档,完成后单击
“下一步
”(一定要勾选该对话框中的
“首行包含列名称
”,因此它是将
excel文档中的列标题为数据库表中的列项标题)
第四步:指定目标数据库服务,依次单击
“下一步
”。。。。至到
“完成
”
第五步:重新打到
sql
server
management
studio,进入到导入的数据库表,可以发现所导入的
excel文档数据。
Excel 如何使用SQL语句联接两个表中的数据
select 片材规格,下片张数,领料扮游坦张数,发料张数,0 as 打样用片 FROM [出入库$] union all select 片材规磨拿格,0 as 下片厅桐张数,0 as 领料张数,0 as 发料张数,打样用片 from [打样用片$]
【sheet+$为表名】
excel怎么连接sql数据库
打开EXCEL,新建一个空白激者工作表,点击【数据】菜单页面中的【自其他来源】,在下拉菜单中选项【来自SQL Server】选项。
请点击输入图片描述
在弹出的数据连接向导中输入SQL Server服务器的名称或IP地址,并在登录凭证中输入正确的用户名和密码。并点击下一步按钮。
请点击输入图片描述
在选择数据库和表页面中选择要连接的数据,下方选择要显示的数据表名称,再点击下一步按钮。本例中我们选择CC数据库的SFC工作表。
请点击输入图片描述
在保持数据连接文件并完成这个步骤中,EXCEL会将连接信息保存在一个扩展名为ODC的文件中,并将其默认保存在电脑中我的文档下的我的数据源文件中。
请点击输入图片描述
最后一步就是将导入数据以什么方式显示以及保存在什么位置,本例中选择以表的方式保存在现有工作表明裂薯并以A1单元格作为起始位置。点击确定完成连接导入。
请点击输入图源念片描述
稍等片刻后我们要连接的SFCr数据表就显示在我们指定的位置上了,整个过程完成。
请点击输入图片描述
如何把Excel数据转化成SQL语句
1、在你的excel表格中增加一列
2、在第一行的D列,就是D1中输入公式:
=CONCATENATE("INSERT
INTO
PERSONS_SERIAL_NUMBER(PERSONS_NO,
PERSONS_NAME,ID_NUMBER)
VALUES('"
B1
"',
'"
C1
"',
'"
E1
"');")
3、此时D1已经生成了如下的sql语句:
INSERT
INTO
PERSONS_SERIAL_NUMBER(PERSONS_NO,
PERSONS_NAME,ID_NUMBER)
VALUES('xxxxx',
'xxxx,
'xxxxxxxxxx');
4、将D1的公式复制到所有行的D列,方法是:把数据放在单元格最陆虚右下角,当鼠标变成十字形时,往下拖到最后一行放开就会自动复制,动态改变values里面的参数
5、此时D列已经生成了所有的sql语句
6、把D列复扮悉兄制到一个纯文本文厅袭件中,推荐使用UltraEdit进行处理。
关于excel拼接sql和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。