java实现从excel中提取某行_Java实现操作excel表格
最近老师布置了个任务,用Java对excel后缀名为xlsx的文件进行简单的增,删,改,查操作;虽说是个简单的程序,可作为刚接触的我来说还是有些磕磕碰碰。不过好在还是完成了,进行一个简单的总结。
首先导入了一个poi.jar 网上有很多这个资源可以下载
XSSFSheet sheet=null;
XSSFWorkbook book=null;
一:查 (查找本地指定位置的excel表格,在控制台输出)
public void print_excel(){
//获取excel表格的行数
int lastrownumber = sheet.getLastRowNum();
String ret=" ";
//获取数据
for(a=0;a
XSSFRow row=sheet.getRow(a);
//获取excel表格的列数
int lastcellnum=row.getLastCellNum();
for(b=0;b
XSSFCell cell =row.getCell(b);
//判断cell返回的类型并赋值给ret
ret=excel_operation.getExcelCellValue(cell);
System.out.print(ret+" ");
}
System.out.println();
}
}
二:改 (修改excel表格中某一单元格的内容)
public void set_excelcell(int i,int j,String str){
//获取行的信息
XSSFRow row=sheet.getRow(i-1);
//获取列的信息
XSSFCell cell =row.getCell(j-1);
//获取被修改单元格的内容
String string = excel_operation.getExcelCellValue(cell);
//修改单元格的内容为str
cell.setCellValue(str);
System.out.println("已将"+string+"改为"+str);
}
三:增 (在excel表格中插入一行内容到指定位置)
public void insert(int rowIndex, String[] objs) {
if(rowIndex == 0) {
throw new IllegalArgumentException("不能插在第0行,第0行是用来定义的!");
}
if(rowIndex > sheet.getLastRowNum() + 1) {
throw new IllegalArgumentException("最多只能插入在最后一行的后面。");
}
int referRowIndex = -1; //参考行的行号。
if(sheet.getPhysicalNumberOfRows() <= 1) {
referRowIndex = rowIndex - 1;
} else {
referRowIndex = rowIndex - 1;
if(rowIndex == sheet.getLastRowNum() + 1) { //是插入最后一行
//不做任何处理
} else {
//往下移动一位
sheet.shiftRows(rowIndex, sheet.getLastRowNum(), 1, true, false);
}
}
Row targetRow = sheet.createRow(rowIndex);
Row referRow = sheet.getRow(referRowIndex); // 参考行
Cell targetCell, referCell;
for (int i = 0; i < objs.length; i++) {
targetCell = targetRow.createCell(i);
referCell = referRow.getCell(i);
targetCell.setCellStyle(referCell.getCellStyle());
targetCell.setCellType(referCell.getCellType());
targetCell.setCellValue(objs[i]);// 设置值
}
}
四: 删 (删除指定行的内容)
// 删除一行数据(Excel表中,行是从0起算的)
public void delete(int rowIndex) {
//删除的是最后一行
if(rowIndex == sheet.getLastRowNum()) {
sheet.removeRow(sheet.getRow(sheet.getLastRowNum()));
//删除的不是最后一行
} else {
sheet.shiftRows(rowIndex + 1, sheet.getLastRowNum(), -1, true, false);
sheet.removeRow(sheet.getRow(sheet.getLastRowNum() + 1));
}
}
五: 判断返回类型 (因为excel表格中的内容不同,有字符型的,有整数型的等等,必须进行判断其类型才能进行输出)
private static String getExcelCellValue(XSSFCell cell) {
String ret=" ";
try {
//当返回值的类型为空返回空格
if (cell == null) {
ret = " ";
//当返回值的类型为字符串类型
} else if (cell.getCellType() == XSSFCell.CELL_TYPE_STRING) {
ret = cell.getStringCellValue();
//当返回值的类型为数值类型
} else if (cell.getCellType() == XSSFCell.CELL_TYPE_NUMERIC) {
ret = "" + cell.getNumericCellValue();
//当返回值的类型为表达式类型
} else if (cell.getCellType() == XSSFCell.CELL_TYPE_FORMULA) {
ret = cell.getCellFormula();
//当返回值的类型为异常类型
} else if (cell.getCellType() == XSSFCell.CELL_TYPE_ERROR) {
ret = " " + cell.getErrorCellValue();
//当返回值的类型为布尔类型
} else if (cell.getCellType() == XSSFCell.CELL_TYPE_BOOLEAN) {
ret = " " + cell.getBooleanCellValue();
//当返回值的类型为空的时候
} else if (cell.getCellType() == XSSFCell.CELL_TYPE_BLANK) {
ret = " ";
}
} catch (Exception ex) {
ex.printStackTrace();
ret = " ";
}
return ret;
}
java实现从excel中提取某行_Java实现操作excel表格相关推荐
- java实现从excel中提取某行_Java读取excel表格(原理+实现)
一般都是用poi技术去读取excel表格的,但是这个技术又是什么呢 什么是Apache POI? Apache POI是一种流行的API,它允许程序员使用Java程序创建,修改和显示MS Office ...
- EXCEL中提取某行最后一个有效单元格数据
用户的需求总是多种多样的,有的如同下图:大家可以看下图,只是举例,不一定合理.每个人所属的部门的级别不同,有的人属于公司之下,有的属于team之下,而大家可以看到这个表里面有很多空白单元格,看上去不是 ...
- java excel 删除行_使用Apache POI在Excel中删除多行
我有一张包含75行表格的Excel表格 . 在第76行我有各列的总功能 =SUM(A1:A75) 和 =SUM(B1:B75) 在第77到第92位的行我有一个Excel图表这需要A1:A75和B1:为 ...
- excel中提取月份_在Excel中自动添加月份表
excel中提取月份 Set up a Master sheet in your workbook, and add month sheets automatically, based on that ...
- 从Excel中提取数据
从事android客户端开发的小伙伴们肯定都知道打点的痛苦,尤其是把点位从excel复制到java文件中,还要一个一个的修改,繁琐之极,所以想到了从excel中提取数据. 1.开发用的是android ...
- matlab提取数据的一部分,matlab处理excel数据【怎么用MATLAB从excel中提取部分数据】...
已经把excel的一列导入到matlab的工作区,怎么计算这一列数的均值.标准差.最小值.最大值以及中位数? 把这个EXCEL放到matlab目录下的work里,假设名为1.xls,然后在matlab ...
- 如何在excel中提取教师 教不同多个班级的综合平均分 合格率
在Excel中提取教师教多个班级的综合平均分和合格率,你可以这样做: 建立一个数据表,表格的第一列是教师的姓名,第二列是班级名称,其余列是学生的成绩. 使用Excel的IF语句,对学生成绩进行判断,确 ...
- 使用Python批量实现某一Excel文件中每3行数据存一个Excel文件
点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 远芳侵古道,晴翠接荒城. 大家好, ...
- 怎样让表格的行高一样_excel表格多数据如何设置行高-Excel EXCEL中如何把行高平均成一样高...
excel表格如何设置行高 1.本次操作的软件为Excel电格,软件版本为office和学生版2016. 2.首先打开Excel电子表格,根据问题描述,我们格中输入用于演示设置表格最合适的行高列宽的数 ...
最新文章
- 谷歌开源 TFGAN,让训练和评估 GAN 变得更加简单
- forall oracle 游标,FORALL用法小结
- [POJ2420]A Star not a Tree?(模拟退火)
- SAP Analytics Cloud和Cloud for Customer之间的Single Sign on配置
- anaconda中python的位置_科学网—查询Anaconda安装路径、安装包位置及授予访问权限 - 张伟的博文...
- 【华为云实战开发】8.如何快速搭建C#网站并实现持续集成?
- mysql 查询的关键词的执行顺序
- 质疑江民电脑保护系统,涉嫌抄袭
- OpenCV+Python学习笔记 : 图像灰度化处理
- 记一次hive 报错NoViableAltException(-1@[215:51: ( KW_AS )?])
- 【动态规划】流水作业调度问题与Johnson法则
- cat tee ||
- win32应用程序和win32控制台应用程序
- 微信拼手气红包背后的算法逻辑
- 微信公众号生成临时二维码
- 电锤、冲击钻和空心钻的使用方法
- 2021中国大学MOOC 机器学习(温州大学) 最新中国大学MOOC满分章节测试答案
- 4 int、str类型(数据类型1)、type()
- java StringBuilder追加换行符
- 一次关于前端的内存泄漏