包含excel拼接sql的词条

本篇文章给大家谈谈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和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

标签列表