2024年4月25日发(作者:)

如何实现Excel表格自动导入到数据

如何实现Excel表格自动导入到数据库2010-05-03 23:46目前人们在存

储统计数据时大多都会采用Office的Excel,因为Excel做的表格确实很好用,

又简单又方便。而Excel软件本身的功能也很强大,除了本身自带的一些对表

格数据的处理功能外还允许我们自己编写脚本程序,实现自定义的功能。但是

随着信息化建设步伐的加快,网络化办公环境对数据处理的新方式势必要取代

一个个Excel文件和层层嵌套的文件夹的传统方式。

而在信息化建设的过程中对已有数据的保存和利用是非常重要的,如何将

现有的各种数据存储方式中的数据录入到数据库中,从而为信息化平台服务呢?

我们不可能让用户一条条地向数据库里录入数据,因为这很不现实,所以我们

要通过程序实现批量录入,或者是直接导入。我是利用了JXL接口实现了

Excel文件导入这个功能,它可以自动把Excel文件中的数据导入到数据库中

相应的表里。而且我把它做成了公共接口,通过配置文件的配置就可以"一次编

写,多处运用"。

1.首先需要有jxl的jar包,这个可以在网上下到,解压后把、

、放到工程里。

2.编写类文件,因为Excel表格数据的导入是分三步,首先将Excel文件

上传到服务器中,然后将数据读取导入至数据库,最后再将Excel文件删掉。

所以要写两个类,一个实现上传,一个实现读取数据。上传部分请看我的另一

篇关于上传的日志,此处我只介绍读取数据的类,名字为。

内容如下:

package ;

import .*;import tion;import

Manager;import edStatement;import

eption;

import rvletRequest;

import tActionContext;

import Support;import

Action;

import jxl.*;

public class ExcelInAction extends ActionSupport{//static String

createTableSql="";//创建数据库的sql static String colType="varchar";

//字段类型static String key="id";//主键static String charSet="utf8";

//表格字符类型static String ENGINE="InnoDB";//表格类型static String

tableName;//表名称static String tableValue;//表属性static String

colName="col";//默认字段名static Connection conn=null;

/*Excel表格导入数据库需要先将Excel文件上传*/private File file;

//封装上传文件private String fileContentType;//封装上传文件类型

private String fileFileName;//封装上传文件名private String savePath;

//封装上传文件保存路径private String path;//自定义上传文件路径值

public String execute()throws Exception{try{UploadAction ua=new

UploadAction();//创建上传Action的对象/*配置UploadAction的各项参数

*/h(path);e(file);

eContentType(fileContentType);

eFileName(fileFileName);ePath(getSavePath());

e();//构建Workbook对象,只读Workbook对象//直接从本地文件创

建Workbook//从输入流创建Workbook n("start load

file---");InputStream is=new

FileInputStream(ePath()+""+eFileName());//创建输

入流