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());//创建输
入流
发布评论