首页
15问答网
>
用java代码实现读取Excel中每个sheet页的内容,并且要与其他的Excel中某一列的值进行
用java代码实现读取Excel中每个sheet页的内容,并且要与其他的Excel中某一列的值进行
2024-12-19 01:27:49
推荐回答(2个)
回答1:
/**
*
*
标题:readExcel
*
描述:读取Excel文件数据
* @param excelfilePath Excel文件路径
* @param startRow 开始行
* @param startCol 开始列
* @return List
>
* @throws IOException
* @throws BiffException
*/
public List
> readExcel(String excelfilePath,int startRow, int startCol)
throws IOException, BiffException {
// 读取xls文件
InputStream ins = new FileInputStream(excelfilePath);
// 设置读文件编码
WorkbookSettings setEncode = new WorkbookSettings();
setEncode.setEncoding("UTF-8");
Workbook rwb = Workbook.getWorkbook(ins, setEncode);
List
> alldata = new ArrayList
>();
Map
data = null;
alldata.clear();
// 获得当前Excel表共有几个sheet
Sheet[] sheets = rwb.getSheets();
// 获得表数
int pages = sheets.length;
// 将excel表中的数据读取出来
// 在从Excel中读取数据的时候不需要知道每个sheet有几行,有那多少列
for (int i = 0; i < pages; i++) {
//这里读取excel中每个sheet的数据,Sheet sheet = rwb.getSheet(i); 读取第二个sheet就是getSheet(1);
Sheet sheet = rwb.getSheet(i);
int cols = sheet.getColumns(); // 列
// 读取每一行对应的列数目
// 循环读取每一行的全部列数目的内容
int rows = sheet.getRows(); // 行
for (int r = startRow; r < rows; r++) {
data = new HashMap
();
// 行循环,Excel的行列是从(0,0)开始
for (int c = startCol; c < cols; c++) {
Cell excelRows = sheet.getCell(c, r);
data.put("bgbh", excelRows.getContents());
}
alldata.add(data);
}
}
ins.close();
return alldata;
}
回答2:
看看poi包的api文档。
相关问答
最新问答
一家三口,夫妻在县城事业单位工作,两人月收入共5000元,可以买台什么小车代步?
浏览器“访问过于频繁,需要输入验证码”怎么解决?
强力胶弄到衣服上怎样洗下去?
我要一首有关于爱国的诗歌,只要一首,字数别太多,50~70就好
千足金手镯掉皮是怎么回事
win10安装时显示系统权限限制,请问怎么解决
我儿子时是农历2006年11月12日10点41分,请帮我儿子取名字姓钟
语文世纪金榜高二《论语》选读
如何把外国人X签证转换为Z签证?
一部抗日时期的电影,讲一个猎户被日本人杀死妻儿