MyException - 我的异常网
当前位置:我的异常网» Java Web开发 » 怎么将EXCEL数据导入access数据库中的表中去

怎么将EXCEL数据导入access数据库中的表中去

www.MyException.Cn  网友分享于:2013-02-13  浏览:149次
如何将EXCEL数据导入access数据库中的表中去
我的ACCESS数据库中有一个table1的表,表结构:id   name   pas
我的excel中的数据也是分为跟表table1相同的结构
我想用jsp把excel中的数据批量导入到access数据库的table1表中
请问该如何去做,谢谢

------解决方案--------------------
/**
* 根据formatExcel文件中的格式读取dataExcel中的数据
*
* @param formatExcel excel模板的指针
* @param dataExcel excle格式存放的数据
* @return
*/
public Map readImportdata(HSSFWorkbook formatExcel, HSSFWorkbook dataExcel) {
int sheetNumber = 0;
int rowNumber = 0;
int cellNumber = 0;
int allSheet = 0;
boolean needSkipFirstRow = true;
List resultList = new ArrayList();

/**
* resultMap 内含有如下内容:
* flag String true:正常执行,可以取结果集 false:程序执行流程错误,但没有异常
* msg String 如果程序出错,此内容保存的是出错信息。
* resultList List 如果程序正常执行,这里保存的是结果集
*/
Map resultMap = new HashMap();
String flag = "true ";
StringBuffer msg = new StringBuffer( " ");
resultMap.put( "flag ", flag);
resultMap.put( "msg ", msg.toString());
if (formatExcel == null) return resultMap;
if (dataExcel == null) return resultMap;

initialize();
getImportColumns(formatExcel);
allSheet = dataExcel.getNumberOfSheets();

for (sheetNumber = 0; sheetNumber < allSheet; sheetNumber++) {//读取所有的sheet页
HSSFSheet dataSheet = dataExcel.getSheetAt(sheetNumber);
int allrows = dataSheet.getLastRowNum();


Iterator rowIt = dataSheet.rowIterator();

//如果没有内容,返回,判断是否需要跳过第一行
if (rowIt.hasNext()) {
if (needSkipFirstRow) {
rowIt.next();
rowNumber++;
}
}

//循环读数据
while (rowIt.hasNext()) {
HSSFRow dataRow = (HSSFRow) rowIt.next();
// HSSFRow dataRow = (HSSFRow)dataSheet.getRow(currentrow);
int allcells = dataRow.getLastCellNum();
short currentCol = 0;
// Iterator cellIt = dataRow.cellIterator();
int columnsize = importColumns.size();
cellNumber = 0;
Map oneRow = new HashMap();
for (currentCol = 0; currentCol < allcells; currentCol++) {


// while(cellIt.hasNext() && currentCol <columnsize){

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有