求问java中poi导入execl表到数据库,表的结构是多行多SHEET,且每个sheet结构不同,请问怎么实现。 100
另外求问,Arraylistadd数据是怎么存储的。当一个新循环开始时,是直接增加在之前数据的后面,还是另起一列新增。...
另外求问,Arraylist add数据是怎么存储的。当一个新循环开始时,是直接增加在之前数据的后面,还是另起一列新增。
展开
展开全部
InputStream is = new FileInputStream(filepath + "/赛程.xlsx");
Workbook wb = null;
try {
wb = Workbook.getWorkbook(is);
} catch (BiffException e) { // TODO Auto-generated catch block
e.printStackTrace();
}
Sheet sheet = wb.getSheet(0);
Cell cell = null;
int line = sheet.getColumns();
int row = sheet.getRows();
try {
ArrayList<ArrayList<String>> arraylist = new ArrayList<ArrayList<String>>();
for (int r = 1; r < row; r++) {
ArrayList<String> array = new ArrayList<String>();
for (int i = 0; i < line; i++) {
cell = sheet.getCell(i, r);
result = Ex.parceCell(cell, i);
array.add(result);
}
arraylist.add(array);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
这是早年我写的一份,你看看能不能用。
还有你问的第二个问题我不太明白,但是以我的程序为例,两个arrayList,外层arrayList已经一个循环,然后new 新的arrayList直接追加在它的后面。
Workbook wb = null;
try {
wb = Workbook.getWorkbook(is);
} catch (BiffException e) { // TODO Auto-generated catch block
e.printStackTrace();
}
Sheet sheet = wb.getSheet(0);
Cell cell = null;
int line = sheet.getColumns();
int row = sheet.getRows();
try {
ArrayList<ArrayList<String>> arraylist = new ArrayList<ArrayList<String>>();
for (int r = 1; r < row; r++) {
ArrayList<String> array = new ArrayList<String>();
for (int i = 0; i < line; i++) {
cell = sheet.getCell(i, r);
result = Ex.parceCell(cell, i);
array.add(result);
}
arraylist.add(array);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
这是早年我写的一份,你看看能不能用。
还有你问的第二个问题我不太明白,但是以我的程序为例,两个arrayList,外层arrayList已经一个循环,然后new 新的arrayList直接追加在它的后面。
追问
我的情况是这样的,一个excel表,有多个sheet,每个sheet的结构不同,而且每个sheet有多行的可能性,本想通过一个循环来写,把值用arraylist来接受,但不清楚arraylist的存储方式。怕转存到数据库时,数据的顺序乱了。不知道能不能理解我的意思呢?
追答
我明白了,用arrayList不用顾虑那么多,如果你将sheet1,sheet2,shee3依次放入,加入数据库里也是sheet1,sheet2,shee3依次放入的,当然,还要看你的sql语句怎么写。
但是如果每个sheet都不同的话,arrayList未必是最佳的选择,只是可以实现罢了
2016-08-31
展开全部
不管怎样,都是要要求需求导入 。。。。。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询