当前位置:首页 » 操作系统 » excel导入数据库代码

excel导入数据库代码

发布时间: 2023-04-28 17:39:35

1. C#.NET Excel文件数据导入sql Server数据库完整代码

在日常的项目中,Excel,Word,txt等格式的数据导入到数据库中是很常见

这里将分为.net导入Sql Server,Oracle数据库和WinForm导入Sql Server,Oracle数据库。

实现的基本思想:

1,先使用FileUpload控件fuload将Excel文件上传到服务器上得某一个文件夹

2,使用OleDb将已经上传到服务器上的Excel文件读出来,这里将Excel文件当做一个数据库来读。在联系数据库语句中,Data Source就是该文件在服务器上得物理路径

3,将第二步中读出的数据以DataTable对象返回。

4,遍历DataTable对象,然后到Sql Server数据库中查询,是否存在该条数据。如果存在,可以做更新,或者不做处理;如果不存在,则插入数据。

注意:在遍历DataTable的时候,可是使用dt.Rows[i]["Name"].ToString();Name为Name列的表头,所以Excel中列的顺序就无关紧要了。当然,前提是你知道Excel里列中各表头的名字。如果Excel中列的顺序固定,即可按下面代码中的方式进行。

添加的引用:

usingSystem;
usingSystem.Data;
usingSystem.Data.OleDb;
usingSystem.Data.SqlClient;
usingSystem.IO;
usingSystem.Text;
usingSystem.Web;
usingSystem.Web.UI;
privateDataTablexsldata()
{
if(fuload.FileName=="")
{
lbmsg.Text="请选择文件";
returnnull;
}
stringfileExtenSion;
fileExtenSion=Path.GetExtension(fuload.FileName);
if(fileExtenSion.ToLower()!=".xls"&&fileExtenSion.ToLower()!=".xlsx")
{
lbmsg.Text="上传的文件格式不正确";
returnnull;
}
try
{
stringFileName="App_Data/"+Path.GetFileName(fuload.FileName);
if(File.Exists(Server.MapPath(FileName)))
{
File.Delete(Server.MapPath(FileName));
}
fuload.SaveAs(Server.MapPath(FileName));
//HDR=Yes,这代表第一行是标题,不做为数据使用,如果用HDR=NO,则表示第一行不是标题,做为数据来使用。系统默认的是YES
stringconnstr2003="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="+Server.MapPath(FileName)+";ExtendedProperties='Excel8.0;HDR=Yes;IMEX=1;'";
stringconnstr2007="Provider=Microsoft.ACE.OLEDB.12.0;DataSource="+Server.MapPath(FileName)+";ExtendedProperties="Excel12.0;HDR=YES"";
OleDbConnectionconn;
if(fileExtenSion.ToLower()==".xls")
{
conn=newOleDbConnection(connstr2003);
}
else
{
conn=newOleDbConnection(connstr2007);
}
conn.Open();
stringsql="select*from[Sheet1$]";
OleDbCommandcmd=newOleDbCommand(sql,conn);
DataTabledt=newDataTable();
OleDbDataReadersdr=cmd.ExecuteReader();

dt.Load(sdr);
sdr.Close();
conn.Close();
//删除服务器里上传的文件
if(File.Exists(Server.MapPath(FileName)))
{
File.Delete(Server.MapPath(FileName));
}
returndt;
}
catch(Exceptione)
{
returnnull;
}
}

protectedvoidBtn_Export_Excel_To_DB_Click(objectsender,EventArgse)
{
try{

DataTabledt=xsldata();

//dataGridView2.DataSource=ds.Tables[0];
interrorcount=0;//记录错误信息条数
intinsertcount=0;//记录插入成功条数

intupdatecount=0;//记录更新信息条数

stringstrcon="server=localhost;database=database1;uid=sa;pwd=sa";
SqlConnectionconn=newSqlConnection(strcon);//链接数据库
conn.Open();

for(inti=0;i<dt.Rows.Count;i++)
{
stringName=dt.Rows[i][0].ToString();//dt.Rows[i]["Name"].ToString();"Name"即为Excel中Name列的表头
stringSex=dt.Rows[i][1].ToString();
intAge=Convert.ToInt32(dt.Rows[i][2].ToString());
stringAddress=dt.Rows[i][3].ToString();
if(Name!=""&&Sex!=""&&Age!=0&&Address!="")
{
SqlCommandselectcmd=newSqlCommand("selectcount(*)fromuserswhereName='"+Name+"'andSex='"+Sex+"'andAge='"+Age+"'andAddress="+Address,conn);
intcount=Convert.ToInt32(selectcmd.ExecuteScalar());
if(count>0)
{
updatecount++;
}
else
{
SqlCommandinsertcmd=newSqlCommand("insertintousers(Name,Sex,Age,Address)values('"+Name+"','"+Sex+"',"+Age+",'"+Address+"')",conn);
insertcmd.ExecuteNonQuery();
insertcount++;
}
}
else
{
errorcount++;
}
}
Response.Write((insertcount+"条数据导入成功!"+updatecount+"条数据重复!"+errorcount+"条数据部分信息为空没有导入!"));
}
catch(Exceptionex)
{

}
}

2. 怎么把Excel数据导入到数据库

这个网上有很多戚猜迅,找找吧。x0dx0a一般都是先获取execl的兆键数据导入到dataset中,再把dataset中的数据库insert到数据库(这部分应该不用说了吧)。x0dx0a需要注意一点的是:execl2003和2007以上的版本高此所用的引擎是不一样的。如下列。x0dx0a//导入(stringfileName)x0dx0a{x0dx0a//stringfileName="d:\\123.xls";x0dx0astringexcelStr="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="+fileName+";ExtendedProperties='Excel8.0;HDR=YES;IMEX=1'";//execl2003x0dx0a//stringexcelStr="Provider=Microsoft.Ace.OleDB.12.0;DataSource="+fileName+";ExtendedProperties='Excel12.0;HDR=YES;IMEX=1'";//execl2007以上(需要装个AccessDatabaseEngine引擎,网上找找)x0dx0aDataSetds=newDataSet();x0dx0ausing(System.Data.OleDb.OleDbConnectioncn=newOleDbConnection(excelStr))x0dx0a{x0dx0ausing(OleDbDataAdapterdr=newOleDbDataAdapter("SELECT*FROM[sheet1$]",excelStr))x0dx0a{x0dx0adr.Fill(ds);x0dx0a}x0dx0a}x0dx0a//插入到数据库x0dx0a}

3. 将excel表导入数据库的方法步骤

在 Excel 中录入好数据以后,可能会有导入数据库的需求,这个时候就需要利用一些技巧导入。接下来是我为大家带来的如何将excel表导入数据库的 方法 ,希望对你有用。

将excel表导入数据库的方法

Excel导入数据库步骤1:对于把大量数据存放到数据库中,最好是用图形化数据库管理工具,可是如果没有了工具,只能执行命令的话这会是很费时间的事。那我们只能对数据进行组合,把数据组成insert语句然后在命令行中批量直行即可。

Excel导入数据库步骤2:我们对下面数据进行组合,这用到excel中的一个功能。

在excel中有个fx的输入框,在这里把组好的字符串填上去就好了。

注:字符串1 & A2 &字符串2 & ...

A2可以直接输入,也可以用鼠标点对应的单元格。

Excel导入数据库步骤3:每个字符串之间用 & 符号进行连接。下面是第一条连接字符串

="insert into tavern values('"&A2&"','"&B2&"','"&C2&"','"&D2&"');"

写好后按回车键Enter就能组合出对应的字符串了。

insert into tavern values('jw_agi','曙光','0','1');

Excel导入数据库步骤4:组好第一行的字符串后,把鼠标放到单元格右下方,出现加粗的十字,单击按下(别松开),一直往下拉,直到最后一行再放开就行了。

5这样我们就把insert语句都整理好了,接下来就是大家把这些语句批量执行就可以了。

>>>下一页更多精彩“将EXCEL表格数据导入进CAD中的方法”

4. 怎样将Excel文件导入数据库(在JSP环境下java代码)

我只给你说下第二步怎么样吧,其他的你自己应该可以解决的。
通过使用第三方包jxl.jar,我以前导过数据,也是解析Excel,将Excel中的数据导入数据库中,这个包很好下,如果找不到可以留下邮箱
//程序说明: 要导入jxl.jar到Classpath中。
import jxl.*;
import java.io.*;
import jxl.write.*;
/**
* <p>java读取Excel表格,拷贴心、更新Excel工作薄 </p>
*/
public class Test1 {
public static void main(String[] args) {
jxl.Workbook rwb = null;
try{
//构建Workbook对象 只读Workbook对象
//直接从本地文件创建Workbook
//从输入流创建Workbook
InputStream is = new FileInputStream("D://Book1.xls");
rwb = Workbook.getWorkbook(is);
//Sheet(术语:工作表)就是Excel表格左下角的Sheet1,Sheet2,Sheet3但在程序中
//Sheet的下标是从0开始的
//获取第一张Sheet表
Sheet rs = rwb.getSheet(0);
//获取Sheet表中所包含的总列数
int rsColumns = rs.getColumns();
//获取Sheet表中所包含的总行数
int rsRows = rs.getRows();
//获取指这下单元格的对象引用
for(int i=0;i<rsRows;i++){
for(int j=0;j<rsColumns;j++){
Cell cell = rs.getCell(j,i);
System.out.print(cell.getContents()+" ");
}
System.out.println();
}
//利用已经创建的Excel工作薄创建新的可写入的Excel工作薄
jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(new File("D://Book2.xls"),rwb);
//读取第一张工作表
jxl.write.WritableSheet ws = wwb.getSheet(0);
//获取第一个单元格对象
jxl.write.WritableCell wc = ws.getWritableCell(0, 0);
//决断单元格的类型,做出相应的转化
if (wc.getType() == CellType.LABEL) {
Label l = (Label) wc;
l.setString("The value has been modified.");
}
//写入Excel对象
wwb.write();
wwb.close();
}catch(Exception e){
e.printStackTrace();
}
finally{
//操作完成时,关闭对象,翻译占用的内存空间
rwb.close();
}
}
}

5. 怎么把excel的数据存入数据库里 代码怎么写

1.使用php
excel
parser
pro软件,但是这个软件为收费软件;
2.可将excel表保存为csv格式,然后通过phpmyadmin或者sqlyog导入,sqlyog导入的方法为:
·将excel表另存为csv形式;
·打开sqlyog,对要导入的表格右击,点击“导入”-“导入使用加载本地csv数据”;
·在弹出的对话框中,点击“改变..”,把选择“填写excel友弊备好值”,点击确定;
·在“从文件导入”中选择要导入的csv文件路径,点击“导入”即可如猛导入数据到表上;
3.一个比较笨的手工方法,就是先利用excel生成sql语句,然后再到mysql中运行,这种方法适用于excel表格导入到各类sql数据库:
·假设你的表格有a、b、c三列数据,希望导入到你的数据库中表格渣卜桥tablename,对应的字段分别是col1、col2、col3
·在你的表格中增加一列,利用excel的公式自动生成sql语句,具体方法如下:
1)增加一列(假设是d列)
2)在第一行的d列,就是d1中输入公式:
=concatenate("insert
into
tablename
(col1,col2,col3)
values
(",a1,",",b1,",",c1,");")
3)此时d1已经生成了如下的sql语句:
insert
into
table
(col1,col2,col3)
values
('a','11','33');
4)将d1的公式复制到所有行的d列(就是用鼠标点住d1单元格的右下角一直拖拽下去啦)
5)此时d列已经生成了所有的sql语句
6)把d列复制到一个纯文本文件中,假设为sql.txt
·把sql.txt放到数据库中运行即可,你可以用命令行导入,也可以用phpadmin运行。

6. 如何用命令将Excel导入数据库中

用SQL命令把Excel中的数据导入word中去:
SQL SERVER 和EXCEL的数据导入导出
1、在SQL SERVER里查询Excel数据:
SELECT *
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]
下面是个查询的示例,它通过用于 Jet 的 OLE DB 提供程序查询 Excel 电子表格。
SELECT *
FROM OpenDataSource ( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\Finance\account.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions
2、将Excel的数据导入SQL server :
SELECT * into newtable
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]
实例:
SELECT * into newtable
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\Finance\account.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions
3、将SQL SERVER中查询到的数据导成一个Excel文件
T-SQL代码:
EXEC master..xp_cmdshell 'bcp 库名.dbo.表名out c:\Temp.xls -c -q -S"servername" -U"sa" -P""'
参数:S 是SQL服务器名;U是用户;P是密码
说明:还可以导出文本文件等多种格式
实例:EXEC master..xp_cmdshell 'bcp saletesttmp.dbo.CusAccount out c:\temp1.xls -c -q -S"pmserver" -U"sa" -P"sa"'
EXEC master..xp_cmdshell 'bcp "SELECT au_fname, au_lname FROM pubs..authors ORDER BY au_lname" queryout C:\ authors.xls -c -Sservername -Usa -Ppassword'
在VB6中应用ADO导出EXCEL文件代码:
Dim cn As New ADODB.Connection
cn.open "Driver={SQL Server};Server=WEBSVR;DataBase=WebMis;UID=sa;WD=123;"
cn.execute "master..xp_cmdshell 'bcp "SELECT col1, col2 FROM 库名.dbo.表名" queryout E:\DT.xls -c -Sservername -Usa -Ppassword'"

4、在SQL SERVER里往Excel插入数据:
insert into OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\Temp.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...table1 (A1,A2,A3) values (1,2,3)
T-SQL代码:
INSERT INTO
OPENDATASOURCE('Microsoft.JET.OLEDB.4.0',
'Extended Properties=Excel 8.0;Data source=C:\training\inventur.xls')...[Filiale1$]
(bestand, prokt) VALUES (20, 'Test')建议楼主可以在淘宝买个excel教程,以备不时之需,推荐店铺,冬之佳网络科技,我在里面看过,很全价格低还会不定时更新教程,望采纳答案哦

7. java将excel文件中的数据导入到mySql数据库中 完整代码

//根据excel文件,生成输入流
FileInputStream fis = new FileInputStream(new File("D:\\aa.xlsx"));
//用输入流生成poi 对象,以读取excel内容
//excel2007以上用XSSFWorkbook,2003用HSSFWorkbook
Workbook workbook = new XSSFWorkbook(fis);
Sheet sheet = workbook.getSheetAt(0);//取第一个sheet
String str1 = sheet.getRow(0).getCell(0).getStringCellValue();//取第一行第一列字符值
//getDateCellValue();日期类型 getNumericCellValue()数字类型;getHyperlink()超链接 等等()
//接下来 选择性插入数据库吧,明白?

8. 用javascript怎么实现把excel中的数据批量导入到数据库表中

用javascript怎么实现把excel中的数据批量导入到数据库表中

利用jquery里的ocupload这个js组件,步骤和实现文件上传一样,将你要导入的excel表格进行上传到服务端,然后在工程里导入apache的poi这poi-ooxml以及poi-schemas这三个jar包,接受到文件对瞎磨象后,利用里面的HSSWorkBook这个对象来解析excel里的每行数据,通过对应的数据类型对象添加到数据库里即可

怎么把excel中的数据批量导入到mysql数据中

1.将选中的数据快儿拷贝到一个TXT文本文件中(记得把后面的空格消掉。。否则导入数据库后洞核会有对应的空行),假如存到“D:data.txt”这个位置里。
2.根据要导入的数据快儿建纳神掘立MySql数据库和表,然后进入命令提示符里使用命令
load data local infile 'D:/data.txt' into table exceltomysql fields terminated by ' '
注意:盘符我使用的“/”才成功,否则提示找不到文件 下面文章中是用的“”!
进行导入操作
手动进行Excel数据和MySql数据转换

最快的方法是把EXCEL的数据以CSV的格式导出,到ACCESS导入CSV的那个文件,然后再用ACCESS导出DBF的格式,mySQL可以直接支持和读取DBF格式的数据库文件。

EZDML中的数据库表,怎么导入到excel中啊?急!

1、在EZDML中打开表,全选,复制,在EXCEL中新建表,粘贴。
2、在EZDML中导出数据,保存为EXCEL文件。
3、在EZDML中导出数据,保存为ACCESS文件,然后在ACCESS数据库中打开表,全选,复制,在EXCEL中新建表,粘贴。
4、在EZDML中导出数据,保存为TXT、XML等通用文件,然后在ACCESS中导入为数据表,再打开表,全选,复制,在EXCEL中新建表,粘贴。

急!delphi中怎么将excel的数据批量导入到SQLSever数据库呢?

我的空间中记载了一种方法,是我以前在工作时使用的,你可以借鉴下:
:hi../yueyun889/blog/item/fdd23d38a952b624b9998f5a.

怎样把数据库表中内容导入到EXCEL中

你是说SQL server的吧。。。
把查出来的记录全部选中,右键选保存,保存为cvs的文件格式,再打开cvs的文件,重新保存成xls格式的就可。

如何用sqlldr将文本文件中的数据导入到数据库表中

1、启动SQL企业管理器,选中 表格:1、点击鼠标右键 2、所以任务 3、导入数据
2、选择数据源
3、选择文件路径
4、按txt文本格式,选择相应的分隔符和间距,就可以了。

如何实现Excel数据批量导入到远程SQLServer数据库

基于Visual Basic编程语言,举例说明利用VB实现循环将本地Excel数据批量导入到远程的SQL Server数据库的方法。

怎么把excel中的数据批量导入到word中的表格中

1、打开文字文档以后,先做好表格,接着找到文档中工具栏的“工具”按钮。
2、点击之后,就会弹出一个命令菜单,在其中找到“邮件合并工具栏”,点击“邮件合并工具栏”以后就会出现如下图2的一个工具栏了。
3、在这个工具栏中找到如下图的图标,点击打开数据源。
4、接着就会出现一个选择框,选择好需要导入的数据源excel文件,点击确定。
5、接着鼠标如下图点击要导入数据文档表格中的单元格,让光标在这个单元格总闪动,然后点击第二幅图上的图标“插入合并域”。
6、接着选择要输入的项目,点击确定,就能看到第二幅图中单元格里出现了《姓名》,出生日期和性别也可以用同样的方法输入。
7、然后点击如下图”合并到新文档“,在合并到新文档设置中选择要导入的数据起始行和结束行,点击确定。
8
8、接着你就会发现excel中的数据全部导入到了文档的表格里。

9. 怎么把excel文件里的数据导入SQL数据库

导入数据不一定要用OPENSET函数,可以用更简单的方法,步骤如下:

1、首先双击打开sqlserver,右击需要导入数据的数据库,如图所示。

2、点击任务,再点击任务中的导入数据选项,打开导入导出数据向导界面。

3、在向导界面点击下一步,进入下图界面依次填写需要的内容:数据源Excel,文件路径,以及Excel版本,填好后点击下一步(如果Excel其他版本不行的话,就选择Excel97-03的,再将Excel保存为相应版本)即可。

4、然后就是目标数据库设置:目标选择msslserver,服务器名称不用变,身份验证输入相应的密码,数据库选择对应的数据库,设置好后点击下一步。

5、然后来到图示界面,直接默认选项即可,点击下一步。

6、图示界面,可以自定义目标数据库(表在数据库中可以不存在),点击预览即可以看到导入之后的表状态,如图。

7、上一步完成后再继续下一步,最后点击完成,即可导入成功,如图。

8、最后在数据库中检查一下导入的表数据,附上导入的Excel数据为例。

(9)excel导入数据库代码扩展阅读:

导入数据也可使用OPENROWSET函数,但使用该函数之前必须先启用AdHocDistributedQueries服务,因为这个服务不安全所以SqlServer默认是关闭的,系统管理员可以通过使用sp_configure启用'AdHocDistributedQueries'。

但有一个问题一定要特别注意,由于'AdHocDistributedQueries'这个服务存在着较大的安全隐患,所以切记使用完毕之后一定要关闭。

所以,如果是导入数据建议不要使用OPENROWSET函数,弊大于利。

10. 求一个C# Excel导入数据库的源码

环境:c#.2005+Access+ Sql
一、把DataTable插入数据库
public static void DataTableToDB()
{
string _strExcelFileName = @"D:\example.xls";
DataTable dtExcel = ExcelToDataTable(_strExcelFileName,"Sheet1");
for (int i = 0; i < dtExcel.Rows.Count; i++)
{
InsertDataToAccess(dtExcel.Rows[i][0].ToString(), float.Parse(dtExcel.Rows[i][1].ToString()));
}
}

二、把Excel数据读入DataTable
public static DataTable ExcelToDataTable(string strExcelFileName, string strSheetName)
{
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + strExcelFileName + ";" +"Extended Properties=Excel 5.0;";
string strExcel = string.Format("select * from [{0}$]", strSheetName);
DataSet ds = new DataSet();

using (OleDbConnection conn = new OleDbConnection(strConn))
{
conn.Open();
OleDbDataAdapter adapter = new OleDbDataAdapter(strExcel, strConn);
adapter.Fill(ds, strSheetName);
conn.Close();
}

return ds.Tables[strSheetName];
}

三、向Access数据库表插入数据
public static void InsertDataToAccess(string _strPara,float _fPara)
{
OleDbConnection oleDbConn = new OleDbConnection();
oleDbConn.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\ExcelData.mdb;User Id=admin;Password=;";
oleDbConn.Open();

string strInsertString = "INSERT INTO tb_excelData (strCollumn1,fCollumn2) VALUES (@strCollumn1,@fCollumn2)";
OleDbCommand oComm = new OleDbCommand(strInsertString, oleDbConn);
oComm.Parameters.Add("@strCollumn1", OleDbType.Char , 50);
oComm.Parameters["@strCollumn1"].Value = _strPara;
oComm.Parameters.Add("@fCollumn2", OleDbType.Double);
oComm.Parameters["@fCollumn2"].Value = _fPara;

ocomm.ExecuteNonQuery();
oleDbConn.Close();
}

热点内容
扁桃玩的服务器地址 发布:2025-05-17 12:18:25 浏览:509
u盘上传歌 发布:2025-05-17 12:14:51 浏览:613
入门c语言设计 发布:2025-05-17 12:08:31 浏览:41
c3算法 发布:2025-05-17 12:04:19 浏览:365
phprecv 发布:2025-05-17 11:55:00 浏览:611
福建时钟监控网关服务器云主机 发布:2025-05-17 11:54:28 浏览:249
c数据库压缩 发布:2025-05-17 11:39:22 浏览:963
安卓手机如何连接音响功放 发布:2025-05-17 11:37:48 浏览:963
破解exe加密视频 发布:2025-05-17 11:23:41 浏览:979
我的世界服务器圈太大了怎么办 发布:2025-05-17 11:15:21 浏览:617