当前位置:首页 » 参考文献 » 将excel导入数据库

将excel导入数据库

发布时间: 2021-03-25 15:45:24

A. 怎样把EXCEL表导入access数据库

1、首先准备好一个要导入Access的文件:

(1)将excel导入数据库扩展阅读

Access的用途体现在两个方面:

一、用来进行数据分析: access有强大的数据处理、统计分析能力,利用access的查询功能,可以方便地进行各类汇总、平均等统计。并可灵活设置统计的条件。

比如在统计分析上万条记录、十几万条记录及以上的数据时速度快且操作方便,这一点是Excel无法与之相比的。 这一点体现在:会用access,提高了工作效率和工作能力。

二、用来开发软件: access用来开发软件,比如生产管理、销售管理、库存管理等各类企业管理软件,其最大的优点是:易学!非计算机专业的人员,也能学会。

低成本地满足了那些从事企业管理工作的人员的管理需要,通过软件来规范同事、下属的行为,推行其管理思想。(VB、.net、 C语言等开发工具对于非计算机专业人员来说太难了,而access则很容易)。

这一点体现在:实现了管理人员(非计算机专业毕业)开发出软件的“梦想”,从而转型为“懂管理+会编程”的复合型人才。

另外,在开发一些小型网站WEB应用程序时,用来存储数据。例如ASP+Access。这些应用程序都利用ASP技术在InternetInformation Services运行。比较复杂的WEB应用程序则使用PHP/MySQL或者ASP/Microsoft SQL Server。

ACCESS的用途更多,体现在很多方面:

表格模板。 只需键入需要跟踪的内容,Access 便会使用表格模板提供能够完成相关任务的应用程序。

Access 可处理字段、关系和规则的复杂计算,以便您能够集中精力处理项目。 您将拥有一个全新的应用程序,其中包含能够立即启动并运行的自然 UI。

创建和运行旧数据库。 尽情享用对您的现有桌面数据库 (ACCDB/MDB) 的支持。

B. 怎样将excel的数据导入数据库

1 准备抄Excel导入数据

2 把Excel文件另存为(文本文件(制表符分隔)(*.txt))

3 把新生成的student.txt文件导入到plsql
打开plsql连接到要导入的oracle数据库再打开Tools --> Text importer... --> Open data file 选择要导入的txt文件

4 设置导入数据表结构
新生成的表字段会对应Excel文件第一行标题,但新生成的表字段Type需要设置,可以设置为nvarchar (导入数据为临时数据,如果需要可以后期再作类型变换处理)
5 在Data to Oracle Tab中设置导入的表及相应的栏位

C. 把Excel工作表中数据导入数据库

这是第二次了,市场部那边又来要求改数据。他们要改的是数据库某张表中类似商品价格等的数据,需要改的地方又多,我们上次是靠新来的兄弟一个个给Update进去的,这次老大去教了他们Update语句,把烦人的皮球踢给他们了。但这样一个个更新很明显不是办法,我想通过excel直接把数据导入数据库应该是可行的吧,就开始找方法了。
我想至少有这样两种比较容易实现的方法:
1、直接用Sql语句查询
2、先用excle中的数据生成xml文件,再把xml导入数据库
第一种方法(方法二以后再试),找到联机丛书里实现此功能的Sql语句如下:
SELECT* FROMOpenDataSource('Microsoft.Jet.OLEDB.4.0', 'DataSource="c:Financeaccount.xls";UserID=Admin;Password=;Extendedproperties=Excel5.0')…xactions
语句是有了,但我还是试了很久,因为各个参数具体该怎么设置它没有说。Data Source就是excel文件的路径,这个简单;UserId、Password和Extended properties这三个属性我改成了各种各样的与本机有关的用户名、密码以及excel版本都不对,最后用上面例子里的值“User ID=Admin;Password=;Extended properties=Excel 5.0”才成功了,晕啊;最后个“xactions”更是查了很多资料,其实就仅仅是excel文件里所选的工作表名而已,怪我对excel不够熟悉了,另外注意默认的Sheet1要写成[Sheet1$]
最后,看看我成功的测试
数据库里建好一个表testTable_1,有5个字段id, name, date, money, content,C盘下book1.xls文件的sheet1工作表里写好对应的数据并设好数据类型,执行如下插入语句:
insertintotestTable_1([name],[date],[money],[content]) Select[姓名],[日期],[金额],[内容] FROMOpenDataSource('Microsoft.Jet.OLEDB.4.0', 'DataSource="C:Book1.xls"; UserID=Admin;Password=;Extendedproperties=Excel5.0')…[Sheet1$]
select里的列名我一开始用*代替,但发现输出顺序与我预期的不同,是“金额、内容、日期、姓名”,不知道具体有什么规律,就老老实实写名字了。操作成功
回过头来看看市场部的要求,假设在我这张表里实现,可以先判断如excel里存在与记录相同的name字段(name要唯一非空)时就删除记录,之后再插入,这样简单,但自增的id字段会因为插入而改变,那是不行的了。可行的方法是先读出excel里全部记录,然后用游标一条条分析,如果存在这个name就更新否则就插入。OK,下次就不用让他们再对着文档一条条Update了

D. 如何将excel中的数据导入到数据库

如果只是想把
excel
中的用户信息存到数据库,则先打开excel,把用户信息读出来,保存到数据库中就可以了
没有必要把
excel文件保存到数据库中将excel文件导入到gridview空间中,gridview控件为双向绑定,在将gridview中的数据插入数据库string
path
=
this.mappath("../user.xls");
if(file.exists(path))
{
file.delete(path);
}
//将准备好excel文件拷贝至用户下载文件夹,再进行写入
file.(this.mappath("../user.xls"),path);
//然后将excel文件作为数据源进行数据写入的操作
//在服务器端加载excel文件
oledbconnection
cn
=
new
oledbconnection("provider=microsoft.jet.oledb.4.0;data
source="+
this.mappath("../user.xls")+";extended
properties=excel
8.0;");
oledbcommand
cmd
=
cn.createcommand();
cmd.commandtext
=
"insert
into
[user$]
values(@a,@b,@b)";
cn.open();
foreach(datagriditem
item
in
this.dgexcel.items)
{
cmd.parameters.clear();
cmd.parameters.add("@a",item.cells[2].text.trim());
cmd.parameters.add("@b",item.cells[1].text.trim());
cmd.parameters.add("@c",item.cells[3].text.trim());
cmd.executenonquery();
}
cn.close();

E. 如何将excel表格导入到数据库表中

不知你用何种格式的数据库,下面用access举个例子;
新建一个空数据库(或打开已有数据库文件),在弹出的数据库对话框中点击“新建”----导入表---在“导入”对话框中的“导入类型”中选“ms
excel”按路径找出你要导入的的excel文件,就样就可以了
如果你要将excel文件导入已有数据库表中,应注意excel文件的字段设置与accesss的字段应一致。

F. java中怎么把excel导入数据库

1、加入依赖的jar文件:

引用
*mysql的jar文件
*Spring_HOME/lib/poi/*.jar

2、编写数据库链接类

packagecom.zzg.db;

importjava.sql.Connection;
importjava.sql.DriverManager;

publicclassDbUtils{
privatestaticConnectionconn;

static{
try{
Class.forName("com.mysql.jdbc.Driver");
conn=DriverManager.getConnection("jdbc:mysql://localhost/test","root","123456");
}catch(Exceptione){
e.printStackTrace();
}
}

publicstaticConnectiongetConn(){
returnconn;
}

publicstaticvoidsetConn(Connectionconn){
DbUtils.conn=conn;
}
}

3、编写数据库操作类

packagecom.zzg.db;

importjava.sql.Connection;
importjava.sql.PreparedStatement;
importjava.sql.SQLException;

publicclassExcuteData{
privatePreparedStatementpstmt;
publicbooleanExcuData(Stringsql){
Connectionconn=DbUtils.getConn();
booleanflag=false;
try{
pstmt=conn.prepareStatement(sql);
flag=pstmt.execute();
}catch(SQLExceptione){
e.printStackTrace();
}
returnflag;
}
}

4、编写Excel表格实体类

packagecom.zzg.model;

publicclassTableCell{
privateString_name;
privateString_value;

publicStringget_name(){
return_name;
}

publicvoidset_name(String_name){
this._name=_name;
}

publicStringget_value(){
return_value;
}

publicvoidset_value(String_value){
this._value=_value;
}
}

5、编写主键生成方法

packagecom.zzg.util;

importjava.text.SimpleDateFormat;
importjava.util.Date;
importjava.util.Random;

publicclassGenericUtil{
()
{
StringprimaryKey;
primaryKey=newSimpleDateFormat("yyyyMMddHHmmss").format(newDate());
Randomr=newRandom();
primaryKey+=r.nextInt(100000)+100000;
returnprimaryKey;
}
}

6、编写Excel操作类

packagecom.zzg.deployData;

importjava.io.File;
importjava.io.FileInputStream;
importjava.io.FileNotFoundException;
importjava.io.IOException;
importjava.io.Serializable;
importjava.util.ArrayList;
importjava.util.List;
importorg.apache.poi.hssf.usermodel.HSSFCell;
importorg.apache.poi.hssf.usermodel.HSSFRow;
importorg.apache.poi.hssf.usermodel.HSSFSheet;
importorg.apache.poi.hssf.usermodel.HSSFWorkbook;
importcom.zzg.db.ExcuteData;
importcom.zzg.model.TableCell;
importcom.zzg.util.GenericUtil;

publicclassOperExcel<TextendsSerializable>{
privateHSSFWorkbookworkbook;
privateStringtableName;
privateClass<T>type;
privateStringsheetName;

publicOperExcel(FileexcelFile,StringtableName,Class<T>type,
StringsheetName)throwsFileNotFoundException,
IOException{
workbook=newHSSFWorkbook(newFileInputStream(excelFile));
this.tableName=tableName;
this.type=type;
this.sheetName=sheetName;
InsertData();
}

//向表中写入数据
publicvoidInsertData(){
System.out.println("yyy");
ExcuteDataexcuteData=newExcuteData();
List<List>datas=getDatasInSheet(this.sheetName);
//向表中添加数据之前先删除表中数据
StringstrSql="deletefrom"+this.tableName;
excuteData.ExcuData(strSql);
//拼接sql语句
for(inti=1;i<datas.size();i++){
strSql="insertinto"+this.tableName+"(";
Listrow=datas.get(i);
for(shortn=0;n<row.size();n++){
TableCellexcel=(TableCell)row.get(n);
if(n!=row.size()-1)
strSql+=excel.get_name()+",";
else
strSql+=excel.get_name()+")";
}
strSql+="values(";
for(shortn=0;n<row.size();n++){
TableCellexcel=(TableCell)row.get(n);
try{
if(n!=row.size()-1){
strSql+=getTypeChangeValue(excel)+",";
}else
strSql+=getTypeChangeValue(excel)+")";
}catch(RuntimeExceptione){
e.printStackTrace();
}catch(Exceptione){
e.printStackTrace();
}
}
//执行sql
excuteData.ExcuData(strSql);
}
}

/**
*获得表中的数据
*@paramsheetName表格索引(EXCEL是多表文档,所以需要输入表索引号)
*@return由LIST构成的行和表
*/
publicList<List>getDatasInSheet(StringsheetName){
List<List>result=newArrayList<List>();
//获得指定的表
HSSFSheetsheet=workbook.getSheet(sheetName);
//获得数据总行数
introwCount=sheet.getLastRowNum();
if(rowCount<1){
returnresult;
}
//逐行读取数据
for(introwIndex=0;rowIndex<rowCount;rowIndex++){
//获得行对象
HSSFRowrow=sheet.getRow(rowIndex);
if(row!=null){
List<TableCell>rowData=newArrayList<TableCell>();
//获得本行中单元格的个数
intcolumnCount=sheet.getRow(0).getLastCellNum();
//获得本行中各单元格中的数据
for(shortcolumnIndex=0;columnIndex<columnCount;columnIndex++){
HSSFCellcell=row.getCell(columnIndex);
//获得指定单元格中数据
ObjectcellStr=this.getCellString(cell);
TableCellTableCell=newTableCell();
TableCell.set_name(getCellString(
sheet.getRow(0).getCell(columnIndex)).toString());
TableCell.set_value(cellStr==null?"":cellStr
.toString());
rowData.add(TableCell);
}
result.add(rowData);
}
}
returnresult;
}

/**
*获得单元格中的内容
*
*@paramcell
*@returnresult
*/
protectedObjectgetCellString(HSSFCellcell){
Objectresult=null;
if(cell!=null){
intcellType=cell.getCellType();
switch(cellType){

caseHSSFCell.CELL_TYPE_STRING:
result=cell.getStringCellValue();
break;
caseHSSFCell.CELL_TYPE_NUMERIC:
result=cell.getNumericCellValue();
break;
caseHSSFCell.CELL_TYPE_FORMULA:
result=cell.getNumericCellValue();
break;
caseHSSFCell.CELL_TYPE_ERROR:
result=null;
break;
caseHSSFCell.CELL_TYPE_BOOLEAN:
result=cell.getBooleanCellValue();
break;
caseHSSFCell.CELL_TYPE_BLANK:
result=null;
break;
}
}
returnresult;
}

//根据类型返回相应的值
@SuppressWarnings("unchecked")
(TableCellexcelElement)
throwsRuntimeException,Exception{
StringcolName=excelElement.get_name();
StringcolValue=excelElement.get_value();
StringretValue="";
if(colName.equals("id")){
retValue="'"+GenericUtil.getPrimaryKey()+"'";
returnretValue;
}
if(colName==null){
retValue=null;
}
if(colName.equals("class_createuser")){
retValue="yaa101";
return"'"+retValue+"'";
}
retValue="'"+colValue+"'";
returnretValue;
}
}

7、编写调用操作Excel类的方法

packagecom.zzg.deployData;

importjava.io.File;
importjava.io.FileNotFoundException;
importjava.io.IOException;

publicclassDeployData{
privateFilefileOut;

publicvoidexcute(Stringfilepath){
fileOut=newFile(filepath);
this.deployUserInfoData();
}

publicvoiddeployUserInfoData(){
try{
newOperExcel(fileOut,"test",Object.class,"Sheet1");
}catch(FileNotFoundExceptione){
e.printStackTrace();
}catch(IOExceptione){
e.printStackTrace();
}
}
}

8、编写客户端

packagecom.zzg.client;

importcom.zzg.deployData.DeployData;

publicclassDeployClient{
publicstaticvoidmain(String[]args){
DeployDatadeployData=newDeployData();
deployData.excute("D://test.xls");
}
}

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

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

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

(7)将excel导入数据库扩展阅读:

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

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

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

H. 怎么把excel里的数据导入数据库中的表中

打开企业管理器,打开要导入数据的数据库,在表上按右键,所有任务-->导入数据,弹出DTS导入/导出向导,按 下一步 , 2、选择数据源 Microsoft Excel 97-2000,文件名 选择要导入的xls文件,按 下一步 , 3、选择目的 用于SQL Server 的Microsoft OLE DB提供程序,服务器选择本地(如果是本地数据库的话,如 VVV),使用SQL Server身份验证,用户名sa,密码为空,数据库选择要导入数据的数据库(如 client),按 下一步 , 4、选择 用一条查询指定要传输的数据,按 下一步 , 5、按 查询生成器,在源表列表中,有要导入的xls文件的列,将各列加入到右边的 选中的列 列表中,这一步一定要注意,加入列的顺序一定要与数据库中字段定义的顺序相同,否则将会出错,按 下一步 , 6、选择要对数据进行排列的顺序,在这一步中选择的列就是在查询语

I. 我想把excel表格导入到数据库,具体数据库怎么设置

1、打开要导入的Excel文件,观察第一列是为字段还是数据。

2、打开SQLServer,在需要导入的数据点击右键 【任务版】-【导入数权据】
出现导入导出向导。

3、点击下一步 ,进入【选择数据源】页面,注意红框设置。

4、点击下一步 ,进入【选择目标】页面,注意红框设置。

5、点击下一步 ,进入【指定表复制或查询】页面,注意红框设置。

6、点击下一步 ,进入【选择源表和源视图】页面,注意红框设置。

7、下一步,直到完成。出现【执行结果页面】。

8、最后在SqlServer查询表。

J. 怎样把excel的数据导入到数据库里面去

1 准备Excel导入数据

2 把Excel文件另存为(文本文件(制表符分隔)(*.txt))

3 把新生成的student.txt文件导入专到plsql
打开plsql连接到要导入的oracle数据库再打属开Tools --> Text importer... --> Open data file 选择要导入的txt文件

4 设置导入数据表结构
新生成的表字段会对应Excel文件第一行标题,但新生成的表字段Type需要设置,可以设置为nvarchar (导入数据为临时数据,如果需要可以后期再作类型变换处理)
5 在Data to Oracle Tab中设置导入的表及相应的栏位

热点内容
涂鸦论文 发布:2021-03-31 13:04:48 浏览:698
手机数据库应用 发布:2021-03-31 13:04:28 浏览:353
版面217 发布:2021-03-31 13:04:18 浏览:587
知网不查的资源 发布:2021-03-31 13:03:43 浏览:713
基金赎回参考 发布:2021-03-31 13:02:08 浏览:489
悬疑故事范文 发布:2021-03-31 13:02:07 浏览:87
做简单的自我介绍范文 发布:2021-03-31 13:01:48 浏览:537
战略地图参考 发布:2021-03-31 13:01:09 浏览:463
收支模板 发布:2021-03-31 13:00:43 浏览:17
电气学术会议 发布:2021-03-31 13:00:32 浏览:731