乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > 怎样将<em>Excel</em>文件导入数据库(在JSP环境下Java代码)-fileuplo

怎样将<em>Excel</em>文件导入数据库(在JSP环境下Java代码)-fileuplo

作者:乔山办公网日期:

返回目录:excel表格制作


1.准备数据:在excel中构造出需要的数据
2.将excel中的数据另存为文本文件(有制表符分隔的)
3.将新保存到文本文件中的数据导入到pl*sql中
pl*sql中选择tools--text importer,在出现的窗口中选择Data from Textfile,然后再选择Open data file,
在弹出的文件选择框中选中保存有数据的文本文件,此时将会看到data from textfile中显示将要导入的数据
4.在configuration中进行如下配置
注:如果不将Name in header勾选上会导致字段名也当做记录被导入到数据库中,从而导致数据错误
5.点击data to oracle,选择将要导入数据的表,并在fields中将文本中的字段与表中的字段进行关联
6.点击import按钮进行导入
7.查看导入的数据
OK,至此数据导入成功。

我只给你说下第二步怎么样吧,其他7a686964616fe4b893e5b19e333的你自己应该可以解决的。
通过使用第三方包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();
}
}
}

新建的table为t

create table t
(id number,
name varchar2(20))

操作步骤如下:

1.准备数据:在excel中构造出需要的数据

    

2.将excel中的数据另存为文本文件(有制表符分隔的)

    

3.将新保存到文本文件中的数据导入到pl*sql中

工具->文本导入器

打开,然后选择txt

在 到oracle的数据 中选择要导入哪个表,然后点导入即可



将Excel导入Oracle中
1.打开excel。
2.将Excel另存为.csv格式
3.创建sql*loader控制文件test.ctl,内容如下:
Load data
Infile 'c:\test.csv'
insert Into table test Fields terminated by ','(column1,column2,column3,column4,column5)
需要将数据文件拷贝到对应位置
4.到数据库中建立对应的测试表test
create table test (
column1 Varchar2(10),
column2 Varchar2(10),
column3 Varchar2(10),
column4 Varchar2(10),
column5 Varchar2(10)
)
5.执行导入命令
Sqlldr userid = system/manager control='C:\test.ctl'
导入成功!
附:
Sqlldr的函数关键字说明:
Userid --oracle用户名 userid = username/password
Control --控制文件名称 control = ‘e:\insert.ctl’
Log –-日志文件名称 log = ‘e:\insert.log’
Bad --损坏文件名称
Data --data file name
Discard --discard file name
Discardmax --number of discards to allow(默认全部)
Skip --导入时跳过的记录行数(默认0)
Load --导入时导入的记录行数(默认全部)
Errors --允许错误的记录行数(默认50)
ctl文件内容说明:
Load data
Infile ‘e:\test.csv’ --数据源文件名称
Append|insert|replace --append在表后追加,insert插入空表,replace替代原有内容
Into table test --要导入的数据库表名称
[when id = id_memo] --过滤条件
Fields terminated by X’09’ --字段分隔符
(id,name,telphone) --字段名称列表

附:

方法一:

1、在本地创建一个Access数据库,将Excel数据先导入到Access。可直接导入点击鼠标右键,选择导入,文件类型选择要导入的Excel文件,也可通过创建宏用TransferSpreadsheet函数实现。
2、在本地创建ODBC,链接oracle数据库。将oracle中需要导入数据的表以e799bee5baa6e79fa5e98193e58685e5aeb9330链接表的方式在本地Access中创建(千万不要使用导入表)。
3、在Access数据库中创建插入查询将导入好的Excel数据导入到oracle中。

方法二:

先把Excel另存为.csv格式文件,如test.csv,再编写一个insert.ctl
用sqlldr进行导入!
insert.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排列顺序要与csv文件中相对应
然后就可以执行如下命令:
sqlldr user/password control=insert.ctl

例子:
首先我先建了一个表
SQL> create table biao
2 (username    varchar2(10),
3 date1 varchar2(20),
4 date2 varchar2(20),
5 date3 varchar2(20)
6 );

然后写了6.txt文件,存在c:/目录下
内容:

姓 名 工作时间 入党时间 增加时间
200109 20040919 200409
200109 20050331 20050331
200109 20050331 20050331
200109 20050331 20050331
200109 20050331 20050331
200109 20041220 20041220

写得ctl文件如下,存在c:/目录下

LOAD DATA
INFILE '6.txt'
INTO TABLE BIAO
fields terminated by x'0d' trailing nullcols
(
USERNAME,
DATE1,
DATE2,
DATE3
)

再 命令提示符中写的
sqlldr uerid=system/lllll control =input.txt

ctl文件为(ctl的文件名必须为表名):
Load data
infile 'excelName.txt'
append into table tableName(你的表名)
fields terminated by X'09'
(A,B)

注意:
你先将你的文本文件的数据放入到excel中,然后将它已“制表符分隔”的形式保存
excelName.txt就为你报保存的文本文件
再将ctl、txt文件放入C盘根目录
最后在dos下输入:sqlldr 用户名/用户密码@sid control=tableName

相关阅读

关键词不能为空
极力推荐
  • -sql 2008导出excel,sql如何导出excel

  • 选择要导出的数据库表,右键选择“所有任务”,点击“所有任务”下的子菜单“Export Data”进入“DTS Import/Export Wizard”窗口。e799bee5baa6e997aee7ad94e4b893e5b19e361点击“下一步”,进入“Ch

ppt怎么做_excel表格制作_office365_word文档_365办公网