搜档网
当前位置:搜档网 › c#将Excel导入到DataGridview并插入到数据库

c#将Excel导入到DataGridview并插入到数据库

c#将Excel导入到DataGridview并插入到数据库
c#将Excel导入到DataGridview并插入到数据库

using System;

using System.Collections.Generic;

using https://www.sodocs.net/doc/3315480833.html,ponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.Data.SqlClient;

using System.IO;

using System.Data.Sql;

using Microsoft.Office.Interop.Excel;

//创建人内江师范学院牟鹏,2014-12,excel导入功能的实现

namespace WindowsFormsApplication1

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void btn_close_Click(object sender, EventArgs e)

{

this.Close();

}

///

///数据库插入数据操作

///

///用户名

///密码

///备注

///true表示插入成功,false表示插入失败

public static bool DataCon(string username,string pwd,string remark)

{

//数据库连接字符串

string sqlCon = "Server=192.168.1.19;

database=InDataOfExcel;Uid=sa;pwd=123;";

using (SqlConnection con = new SqlConnection(sqlCon))

{

//判断数据库连接状态

if (con.State != ConnectionState.Open)

{

con.Close();

con.Open();

}

SqlCommand cmd = con.CreateCommand();

//数据操作字符串

string sqlText = "insert into userCon

(username,pwd,remark)values('"+username+"','"+pwd+"','"+remark+"')";

https://www.sodocs.net/doc/3315480833.html,mandText = sqlText;

//返回受影响的行数大于0表示插入成功

if (cmd.ExecuteNonQuery() > 0)

{

return true;

}

else

{

return false;

}

}

}

///

///导入Excel

///

///dataGridView控件名

///路径名

public static void ReadingExcel(DataGridView gridView, string fileName)

{

Microsoft.Office.Interop.Excel.Application app = new Microsoft.Office.Interop.Excel.Application();

Workbook book = app.Workbooks.Open(fileName, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,

Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);

Worksheet sheet = book.Worksheets[1] as Worksheet;

gridView.Rows.Clear();

gridView.Columns.Clear();

//添加每一列的列标题

for (int i = 1; ; i++)

{

string value = (sheet.Cells[1, i] as

Range).Text.ToString();//获得每列第一行数据。

if (value == string.Empty)//如果为空则代表已无数据

{

break;

}

gridView.Columns.Add("", value);

}

//导入每一行的数据

for (int i = 2; ; i++)

{

string value = (sheet.Cells[i, 1] as

Range).Text.ToString();//获得每行第一列数据。

if (value == string.Empty)//如果为空则代表已无数据

{

break;

}

//获得EXCEL中每行上的每列数据

string ID = (sheet.Cells[i, 1] as Range).Text.ToString();

string username = (sheet.Cells[i, 2] as

Range).Text.ToString();

string pwd= (sheet.Cells[i, 3] as Range).Text.ToString();

string remark = (sheet.Cells[i, 4] as

Range).Text.ToString();

DataCon(username, pwd, remark);

gridView.Rows.Add(new object[] { ID, username, pwd, remark });

}

book.Close(Type.Missing, Type.Missing, Type.Missing);

app.Workbooks.Close();

app.Quit();

DevComponents.DotNetBar.MessageBoxEx.Show("数据导入成功"); }

///

///导入数据事件

///

///

///

private void btn_inport_Click(object sender, EventArgs e)

{

//打开要导入的文件

OpenFileDialog open=new OpenFileDialog();

if (open.ShowDialog() == DialogResult.OK)

{

open.ShowDialog();

string fileName = open.FileName;

ReadingExcel(dataGridViewX1, fileName);

}

else

{

return;

}

}

}

}

把EXCEL表的数据导入到SQL数据库

如何成功把EXCEL表的数据导入到SQL数据库,代码如何编写 唯一下载软件下载,软件,下载,共享,共享软件,免费,免费软件,汉化,汉化补丁,游戏,游戏下载,软件教程,软件新闻,软件资讯,操作系统,邮件. 如何成功把EXCEL表的数据导入到SQL数据库,代码如何编 写· https://www.sodocs.net/doc/3315480833.html,/jasoncheung/archive/2005/01/07/243624.aspx /*=================== 导入/导出Excel的基本方法===================*/ 从Excel 文件中,导入数据到SQL数据库中,很简单, ... 如何成功把EXCEL表的数据导入到SQL数据库,代码如何编写. 摘要:如何成功把EXCEL表的数据导入到SQL数据库,代码如何编写――点击此处阅读全文. 发表于@ 2006年04月05日11:21:00 | 评论(loading...) Powered by: Copyright ? gjcxywwx. DTS 能从文本文件或OLE DB 数据源(例如,Microsoft Access 2000 数据库)将数据导入到SQL Server 中。或者,也可以从SQL Server 将数据导出到OLE DB ...用DTS是肯定可以的,而且可以自动生成VB代码。我也不知道如何用SQL语句实现,关注!!!Top ... 例如:导入和导出数据。DTS 能从文本文件或OLE DB 数据源(例如,Microsoft Access 2000 数据库)将数据导入到SQL Server 中。或者,也可以从SQL Server 将数据...用DTS是肯定可以的,而且可以自动生成VB代码。我也不知道如何用SQL语句实现,关注!... ... gjcxywwx 2006-06-19T10:26:00Z VB操作LotusNotes数据库Wed, 24 May 2006 04:07:00 +0800 ... gjcxywwx 2006-04-05T11:28:00Z 如何成功把EXCEL表的数据导入到SQL数据库,代码如何编写Wed, 05 Apr 2006 19:21:00 +0800 ... 如何成功把EXCEL表的数据导入到SQL数据库,代码如何编写. 导出表中的数据到Excel,包含字段名,文件为真正的Excel文件,如果文件不存在,将自动创建文件,如果表不存在,将自动创建表基于通用性考虑,仅支持导出标准数据类型--邹建2003.10--*/导出查询中的数据...

图解把EXCEL数据导入到SQL SERVER 2008

实验环境:WIN XP,MS Office Excel2007,Sql Server2008 准备数据:Excel文档:D:\test\重复出修率.xlsx 方法一: 第一步:打开SSMS: 【开始】→【所有程序】→【Microsoft Sql Server2008】→【Sql Server Management Studio】

第二步:连接数据库: 在’对象资源管理器’中点击【连接】→【数据库引擎】登陆服务器 (P.S:如果没有看到’对象资源管理器’,点击左上角的【视图】→【对象管理器】) 第三步:登陆成功后,右击你要导入数据的数据库名,我这里数据库名是’TEST’ 右击【TEST】→【任务】→【导入数据】

这时候会出现一个向导:点击【下一步】 在弹出的窗口中,【数据源】选择:Microsoft Excel; 【Excel文件路径】就选择你本地电脑存放Excel文档的路径,我这里是D:\test\重复出修率.xlsx 【Excel版本】选择Excel2007(可以根据你office的版本,选择其他如Excel2003等等。)选中【首行包含列名称】框,最后点击【下一步】 “首行包含列名称”是指Excel中的首行数据插入数据库后将作为新建表的列名.

在弹出窗口中,【目标】可以采取默认的,【服务器名称】也是一样可以选择身份验证,最后选择你要插入数据到哪个数据库中。 如我这里选的是’TEST’,选好后点击【下一步】

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

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

实验环境: WIN XP ,MS Office Excel 2007 ,Sql Server 2008 准备数据: Excel文档: D:\test\重复出修率.xlsx 方法一: 第一步: 打开SSMS: 【开始】→【所有程序】→【Microsoft Sql Server 2008】→【Sql Server Management Studio】

第二步: 连接数据库: 在’对象资源管理器’中点击【连接】→【数据库引擎】登陆服务器 (P.S:如果没有看到’对象资源管理器’,点击左上角的【视图】→【对象管理器】) 第三步: 登陆成功后,右击你要导入数据的数据库名,我这里数据库名是’TEST’ 右击【TEST】→【任务】→【导入数据】

这时候会出现一个向导:点击【下一步】 在弹出的窗口中,【数据源】选择:Microsoft Excel ; 【Excel文件路径】就选择你本地电脑存放Excel文档的路径,我这里是D:\test\重复出修率.xlsx 【Excel版本】选择Excel 2007 (可以根据你office的版本,选择其他如Excel 2003等等。)选中【首行包含列名称】框,最后点击【下一步】 “首行包含列名称”是指Excel中的首行数据插入数据库后将作为新建表的列名.

在弹出窗口中,【目标】可以采取默认的,【服务器名称】也是一样可以选择身份验证,最后选择你要插入数据到哪个数据库中。 如我这里选的是’TEST’,选好后点击【下一步】

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

如何将EXCEL数据导入到DATAGRID

如何将EXCEL数据导入到DA TAGRID 设计人:温源 1,Form窗体设计如下 2,源程序 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ds.Clear() OpenFileDialog1.Filter = "EXCEl文件 (*.xls;*.xlsx;*.csv)|*.xls;*.xlsx;*.csv|所有文件(*.*)|*.*" OpenFileDialog1.FilterIndex = 1 OpenFileDialog1.CheckFileExists = True OpenFileDialog1.CheckPathExists = True OpenFileDialog1.ShowDialog() Dim filename As String filename = OpenFileDialog1.FileName If filename = "" Then MsgBox("没有选择文件!无法进行数据导入") Exit Sub End If EcxelToDataGridView(filename, DataGrid1) End Sub Sub EcxelToDataGridView(ByVal filePath As String, ByVal dgv As DataGrid) Dim strConn, strExcel, sheetname As String ' strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = " & filePath & ";Extended Properties ='Excel 8.0;HDR=NO;IMEX=1'" strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = " & filePath &

将Access数据库导入到Excel表格

将Access数据库导入到Excel表格 Access数据库管理系统作为Microsoft Office系列软件成员之一,以其强大的数据库管理功能,成为许多中小型信息管理系统的首选开发工具,应用十分广泛。 对于一般用户来说,往往对Aceess的熟悉程度远远不如同样是Office成员的Excel, 因为Excel界面直观、操作简便(能通过菜单实现大部分功能),大量的函数可直接在单元格内使用,而使用Access要对数据库知识有一定的理解,操作相对复杂,函数也只能在VBA 语言中使用,因此一般用户在处理Access数据库文件时,往往不知道如何查找或统计出想要的结果。如果能将一个Access数据库中的数据转化为Excel表格,将会大大提高处理效率。Excel的VBA(Visual Basic for Application)语言即提供了这样的功能,它可以对Access 数据库(*.mdb文件)中的内容进行查询、提取、增加、删除等操作。 笔者用Excel的VBA设计了一个小工具(见附件),可以将Access数据库中的“表”和“查询”中的内容提取到Excel表格中。所谓“表”,就是Access数据库中保存的原始数据,具体为一个或多个二维数据表,“查询”为程序员根据“表”的内容生成的用户想要等到的结果,也是以二维表的形式存放。下面介绍一下使用方法: 一、打开“导入Access数量库.xls”工作簿,确认“启用宏”,点击“Sheet1”表中的“导入MDB文件按钮”,出现打开文件对话框,找到要导入的Access数据库文件并打开。 二、打开一个Access数据库文件后,出现一个小窗体,用于选择是导入“表”,还是导入“查询”。选择“表”/“查询”后,该数据库所有的“表”/“查询”的名称将出现在下方的选择列表中,选择要导入的“表”/“查询”的名称,输入要导入的记录条数,点击“确定”,该“表”/“查询”的内容将导入到一个新建的工作簿中。(见下图) 说明:EXCEL和外部数据库打交道是通过引用功能实现的:在该工作簿中通过菜单或按“Alt-F11”键打开“Visual Basic 编辑器”,在顶层菜单中选择“工具(T)”—“引用(R)”,出现下图的窗口:

把Excel中的数据导入Oracle 数据库中练习题.doc

教你怎么样把Excel 文件中的数据导入到Oracle 数据库中 第一种:最简单的方法。 在EXCEL中全选数据,然后COPY。接着打开PL/SQL DEVELOPER,打开SQL窗口,输入select * from mytable for update; 然后执行,就可以看到查出目的表mytable数据,如果是空表,当然是没数据了。然后点击下面列表上方的锁(编辑数据),不管有没有数据,我们选择最后一个空行的行头,让整行变成黑色则表示整行已全选中。注意该行左边是有个黑色实心三角箭头的。然后粘贴,再commit 就OK咯。 说明:而且这个方法还有个好处就是对EXCEL中的日期型、数值型字段的处理也很正常,数据类型不会丢失。 图:选中了行然后粘贴数据 第二种:简单的方法。 先将Excel文件另存为一个.csv 文件,然后编写一个insert.ctl文件,ctl文件写法如下:load data--1、控制文件标识 infile 'test.csv'--2、要输入的数据文件名为test.csv append into table table_name --3、向表table_name中追加记录 fields terminated by ','--4、字段终止于',',是一个逗号 (field1, field2, field3, ... fieldn)-----定义列对应顺序 field(x)要与Oracle表中的字段名保持一致(大写) 最后在DOS命令下执行以下命令: sqlldr user/password control=insert.ctl

图:表示导入了12条记录 第三种:比较简单的方法。 如果数据不是很多,可以使用如下方法: 假设表名为test_excel,有4列数据,则设置Excel的E1单元格的值为 ="insert into test_excel values(‘” & A1 & “’, ‘” & B1 & “’, ‘” & C1 & “’, ‘” & D1 & “’);” 向下拖动该公式,则生成一列sql,把其copy到sql/plus中执行即可(如果数据中有单引号,需要先替换成两个),临时导数据用这种方法还是比较方便的。 图:使用Excel的公式功能为我们生成的SQL语句 图:导入到Oracle数据库后的表数据

ASP将Excel导入到Access数据库的方法实例

Excel中的数据导入到Access中,前提是在Access中的表已经建好。 dim conn dim conn2 set conn=CreateObject("ADODB.Connection") conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=;Data Source=c:\book1.mdb" set conn2=CreateObject("ADODB.Connection") conn2.Open "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=;Extended properties=Excel 5.0;Data Source=c:\book1.xls" sql = "select * FROM [Sheet1$]" set rs = conn2.execute(sql) while not rs.eof sql = "insert into xxx([a],[bb],[c],[d]) values('"& fixsql(rs(0)) &"','"& fixsql(rs(1)) &"','"& fixsql(rs(2)) &"','"& fixsql(rs(3)) &"')" conn.execute(sql) rs.movenext wend conn.close set conn = nothing conn2.close set conn2 = nothing function fixsql(str) dim newstr newstr = str if isnull(newstr) then newstr = "" else newstr = replace(newstr,"'","'") end if fixsql = newstr end function 导入到Sql Server数据库中时,如果Excel文件和数据库不在同一台服务器上时,请参考上面的代码。在同一机器上可以参考下面代码(不需要先把表建表,程序会自己动建表,用Excel 中的第一行数据做为表的字段名): dim conn set conn=CreateObject("ADODB.Connection")

将Excel转换为SQL Server数据库方法详解

作者:cuicheng0826 日期:2011-5-11 10:26:47 Excel是一种非常灵活的电子表格软件,用它可以存储各种数据,本节将对如何将Excel转换为SQL 1.方案分析 通过Microsoft.Jet.OLEDB.4.0方式可实现使用https://www.sodocs.net/doc/3315480833.html,访问Excel的目的,如以下示例代码为连接Excel数据的字符串: string strOdbcCon = @”Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=D:”2010年图书销售情况.xls;Ext ended Properties=Excel 8.0″; 2.实施过程 程序开发步骤: (1)新建一个网站,命名为25,其主页默认为Default.aspx。 (2)Default.aspx页面中添加一个Table表格,用来布局页面,然后在该Table表格中添加一个iframe 框架、两个Button控件和一个GridView控件,其中,iframe框架用来显示原始Excel数据表中的数据;Button控件分别用来将指定Excel中的数据表导入到SQL Server数据库中和将导入SQL Server 数据库中的Excel数据绑定到GridView控件上;GridView控件用来显示导入SQL Server数据库中的Excel数据。 (3)程序主要代码如下。 Default.aspx页面中,首先自定义一个LoadData方法,该方法为无返回值类型方法,主要用来将Excel 数据表中的数据导入到SQL Server数据库中。LoadData方法实现代码如下: public void LoadData(string StyleSheet) { string strCon = “Provider=Microsoft.Jet.OLEDB.4.0;Data Source =” + Server.MapPath (”usersdb.xls”) + “;Extended Properties=Excel 8.0″; OleDbConnection myConn = new OleDbConnection(strCon); myConn.Open(); //打开数据链接,得到一个数据集 DataSet myDataSet = new DataSet(); //创建DataSet对象 string StrSql = “select * from [" + StyleSheet + "$]“; OleDbDataAdapter myCommand = new OleDbDataAdapter(StrSql, myConn); myCommand.Fill(myDataSet, “[" + StyleSheet + "$]“); myCommand.Dispose(); DataTable DT = myDataSet.Tables[ "[" + StyleSheet + "$]“]; myConn.Close(); myCommand.Dispose(); string strConn = “Data Source=(local);DataBase=Usersdb;Uid=sa;Pwd=”; SqlConnection conn = new SqlConnection(strConn);

实现Excel数据批量导入到Access

实现Excel数据批量导入到Access 2008-06-26 14:37 demo.asp <% Dim cn,oConn,connstr '打开XLS. Set cn = Server.CreateObject("ADODB.Connection") cn.Provider = "Microsoft.Jet.OLEDB.4.0 " cn.ConnectionString = "Data Source=" & Server.MapPath("data.xls") & ";" & _ "Extended Properties=Excel 8.0;" cn.Open '打开MDB. connstr="DBQ="+server.MapPath("data.mdb")+";DefaultDir=;DRIVER={Micro soft Access Driver (*.mdb)};" set oConn=server.CreateObject("ADODB.CONNECTION") oConn.open connstr '读取数据. set rsRead=server.CreateObject("ADODB.Recordset") rsRead.Open "select * from [Sheet1$]",cn,1,1 do until rsRead.EOF '写入数据库. oConn.Execute("Insert into users(userid,password)Values('"& rsRead.Fields("userid")&"','" &rsRead.Fields("password") & "')" ) rsRead.MoveNext loop %> 数据库data.mdb 表users id,uesrid,password Excel文件data.xls 数据 userid password wang w521 zhange z254 hong h112

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 Hoc Distributed Queries'。有关启用 'Ad Hoc Distributed Queries' 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。解决办法是在新建的数据库上右键新建查询,然后输入下面代码: EXEC sp_configure 'show advanced options', 1 GO RECONFIGURE GO EXEC sp_configure 'Ad Hoc Distributed Queries', 1 GO RECONFIGURE GO 然后再执行 select*into MyUser_gz from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 8.0;HDR=YES;DATABASE=D:\胡兴\MyBook2.xls',sheet1$) 注意:在执行之前必须把对应的.xls文件关闭。执行完毕后需重启数据库才能看到刚导进去的数据。 查看导入的数据表如下:

ASP里-将Excel导入到Access数据库

ASP里-将Excel导入到Access数据库 2009-11-18 09:28 用ASP编的一个网站,数据库是Access,数据库名称是atest,里面有个表格user,user表格有user和password两个字段现要将Excel表格(名称是test.xls)的数据导入到atest数据库的user表中,怎么实现?高手支招............................................................ 下面连接到test.xls表sheet1$ '表后面要加个$的,一定要加这个符号 Set conn = Server.CreateObject("ADODB.Connection") conn.Open "Driver={Microsoft Excel Driver (*.xls)};ReadOnly=0;DBQ=" & Server.MapPath("test.xls") SQL1="select * from [sheet1$]" Set rs = Server.CreateObject("ADODB.Recordset") rs.Open SQL1, conn, 3, 3 '下面连接到atest.mdb表user curDir = Server.MapPath("atest.mdb") Set conn1 = Server.CreateObject("ADODB.Connection") conn1.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & curDir Set rs1 = Server.CreateObject("ADODB.Recordset") Set rs1.ActiveConnection = conn1 rs1.Source = "select * from user" rs1.CursorType = 3 ' adOpenKeyset rs1.LockType = 3 'adLockOptimistic rs1.Open Do While Not rs.Eof rs1.AddNew rs1(0)=j for i=0 to rs.Fields.Count-1 rs1(i)=Trim(rs(i)) Next rs1.Update rs.MoveNext j=j+1 Loop rs.Close rs1.Close conn.Close conn1.Close Set rs=nothing Set conn=nothing ............................................................................

把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,SqlCon

将excel的数据导入已有的模板中

将excel的数据导入已有的模板中(代码) Sub Macro1() Dim arr, brr(), crr(1 To 30, 3 To 8), d As Object, k, t, a, i&, j&, m&, l& Dim w As WorksheetFunction, sh As Worksheet, wb As Workbook Application.ScreenUpdating = False Application.DisplayAlerts = False Set d = CreateObject("scripting.dictionary") arr = [a1].CurrentRegion For i = 2 To UBound(arr) s = arr(i, 2) & "_" &arr(i, 3) d(s) = d(s) & "," &i Next k = d.Keys t = d.Items Set sh = Sheets("模板") Set w = WorksheetFunction For i = 0 Tod.Count - 1 a = Split(t(i), ",") ReDimbrr(1 To w.RoundUp(UBound(a) / 30, 0) * 30, 3 To 8) For j = 1 To UBound(a) brr(j, 3) = j For l = 4 To 8 brr(j, l) = arr(a(j), l) Next Next m = j - 1 For j = w.RoundUp(m / 30, 0) * 30 To 1 Step -30 f = j - 29 If wbIs Nothing Then sh.Copy Set wb = ActiveWorkbook Else sh.Copy Before:=wb.Sheets(1) End If With ActiveSheet .[A2] = .[A2] & Split(k(i), "_")(0) .[A3] = .[A3] & Split(k(i), "_")(1) If m <= 30 Then .[a5].Resize(m, 6) = brr .Name = k(i) Else Erase crr n = 0 For v = f To f + 29

EXCEL表格导入到SQL数据库(附导入重复数据方法)

EXCEL表格导入到SQL数据库 经常有大量数据导入到数据库的需求,提供一个简单的用SQL语句导入的办法。 核心语句:SELECT * FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 'Data Source="c:\Finance\account.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions Data Source就是excel文件的路径,这个简单;UserId、Password和Extended properties这三个属性为“User ID=Admin;Password=;Extended properties=Excel 5.0”。最后那个“xactions”就是excel文件里所选的工作表名,注意默认的Sheet1要写成[Sheet1$]。 例如: 数据库里建好一个表testTable_1,有5个字段id, name, date, money, content,C盘下book1.xls 文件的sheet1工作表里写好对应的数据并设好数据类型,执行如下插入语句即可: insert into testTable_1 ([name], [date], [money], [content]) Select [姓名], [日期], [金额], [内容] FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 'Data Source="C:\Book1.xls"; User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$] 另:由于,SQL Server 2005为了安全性,安装完以后,将很多组件的默认状态设置为不启用。如果需要用到这些特性,可以由管理员手工启用。为此,SQL Server 2005还提供了一个专门的管理工具:SQL Server Surface Area Configuration 要解决本文的问题,也就是要启用AD Hoc Distributed Queries特性,执行Surface Area Configuration,选择Surface Area Configuration for features 在弹出的窗口中选择Database Engine->Ad Hoc Remote Queries,然后勾选"Enable OPENROWSET and OPENDATASOURCE support",确认即可。 如果导入的EXCEL里和表里已经有的规定唯一的键有重复的内容时候,可以分别执行下面的语句保留原有的内容。 1.首先建立一个和目标表(User)完全一样的临时表(temp) select * into temp from [User] where 1=2 2.用上述方法将数据先导入到临时表里 INSERT INTO temp (UserName, AccountID) SELECT a, b FROM OPENDATASOURCE ('Microsoft.Jet.OLEDB.4.0', 'Data Source="C:\import.xls";

C#把Excel导入数据库的两种方法

方式一:实现在c#中可高效的将excel数据导入到sqlserver数据库中,很多人通过循环来拼接sql,这样做不但容易出错而且效率低下,最好的办法是使用bcp,也就是System.Data.SqlClient.SqlBulkCopy 类来实现。 using System; using System.Data; using System.Windows.Forms; using System.Data.OleDb; namespace WindowsApplication2 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { //测试,将excel中的sheet1导入到sqlserver中 string connString = "server=localhost;uid=sa;pwd=sqlgis;database=master"; 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);

将Excel数据导入mysql数据库的几种方案

前几天需要将Excel表格中的数据导入到mysql数据库中,在网上查了半天,研究了半天,总结出以下几种方法,下面和大家分享一下: 一.用java来将Excel表格中的数据转到mysql中 这是我们用的第一种方法,就是在java找你感谢个类,然后这个类会将Excel表格中的数据存储到内存里,然后再从内存中读出来插入到数据库中,但是要注意了,这里是存储到String[ ]数组里面,所以取出来的数据也是String类型,如果你的表里面有int类型的数据,那么你一定要将那一条取出来然后强制转换,如果你的数据表结构没有那么复杂,比较简单的话那么可以使用这种方法,如果字段的结构复杂那也可以使用,只不过要慢慢转,多写点代码,不怕累的同志可以试试.下面是我从网上查的代码: 1、添加POI jar包到项目的lib目录下 2、Excel文件目录:d://excel.xls 3、数据库字段为:num1 num2 num3 num4 num5 num6 4、数据库名:blog 5、表名:test 6、编写类:连接mysql的字符串方法、插入的方法、实体类 import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import https://www.sodocs.net/doc/3315480833.html,mons.logging.Log; import https://www.sodocs.net/doc/3315480833.html,mons.logging.LogFactory; import https://www.sodocs.net/doc/3315480833.html,ermodel.HSSFCell; import https://www.sodocs.net/doc/3315480833.html,ermodel.HSSFRow; import https://www.sodocs.net/doc/3315480833.html,ermodel.HSSFSheet; import https://www.sodocs.net/doc/3315480833.html,ermodel.HSSFWorkbook; public class TestExcel { //记录类的输出信息 static Log log = LogFactory.getLog(TestExcel.class); //获取Excel文档的路径 public static String filePath = "D://excel.xls"; public static void main(String[] args) { try { // 创建对Excel工作簿文件的引用 HSSFWorkbook wookbook = new HSSFWorkbook(new FileInputStream(filePath)); // 在Excel文档中,第一张工作表的缺省索引是0, // 其语句为:HSSFSheet sheet = workbook.getSheetAt(0); HSSFSheet sheet = wookbook.getSheet("Sheet1"); //获取到Excel文件中的所有行数 int rows = sheet.getPhysicalNumberOfRows();

相关主题