「java删除sheet」java删除sheet页方法
本篇文章给大家谈谈java删除sheet,以及java删除sheet页方法对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java中poi读取excel时报错:Unable to construct record instance,怎么解决呀?
- 2、java 写excel 文件的问题,写完后 就把原来的内容清除了
- 3、请问JAVA删除EXCEL中符合条件的一行怎么实现?
- 4、Java jxl 清除Excel表格中的内容
- 5、Excel隐藏了一个sheet表,java poi中是可以读出来的,现在我不想读取隐藏的sheet表。
- 6、怎么用java的poi的工具包删除指定的单元格内容?(大神来看下吧,我只有10分了,太少,只求有人帮个忙)
java中poi读取excel时报错:Unable to construct record instance,怎么解决呀?
根据你的截图,错误的可能有两个,要分别测试对应一下:
1、excel文档有问题,从截图下方看(就是乱码部分)可能excel文档的第1个sheet是个被删除的sheet,所以名称是很长的乱码,导致无法读取。
修改方法:创建一个新的excel文档,然后将需要的内容以文本的形式复制进去,再调用。
2、poi的问题,这个有可能是poi和excel的版本不对应。
修改方法:下载poi的时候确定清楚里面的hkec访问版本对应的是不是你的excel文件的版本。
java 写excel 文件的问题,写完后 就把原来的内容清除了
你现在的写法是先创建一个新文件叫“D:/1.xls”,如果此文件存在的话,就会覆盖
你得先把原来的文件读进来,然后再写出去
请问JAVA删除EXCEL中符合条件的一行怎么实现?
jxl没用过
我一般常用的是POI
POI可以remove指定的行,但这一行就变成了空白行,还要把下边的所有行向上移动一行
来实现删除功能。
Java jxl 清除Excel表格中的内容
for (int i = indexSheet.getFirstRowNum(); i indexSheet.getLastRowNum(); i++) {
indexSheet.removeRow(indexSheet.getRow(i));
}
这个是清除所有的,你将开始行改成2就行了
Excel隐藏了一个sheet表,java poi中是可以读出来的,现在我不想读取隐藏的sheet表。
我只回答“不想读取隐藏的sheet”的问题,
我也要类似的问题,a.xls 有7个sheet 可我用读取却出了10个 ,
原来的代码是 new 的HSSFWork ,这样会导致将隐藏的sheet 给显示出来
FileInputStream fis = new FileInputStream(new File("E:/aa.xls"));
Workbook wb = WorkbookFactory.create(fis);
int sheetNums = wb.getNumberOfSheets();
HSSFWorkbook tgWb = new HSSFWorkbook();
只要在原来的workBook 赋值给新的workbook即可,关键代码如下
HSSFWorkbook tgWb = (HSSFWorkbook) wb;
下面给个例子:
例子是复制一个excel a.xls 到b.xls , 复制过程中将首行加粗,有内容的加网格,没有内容的去掉网格
try {
FileInputStream fis = new FileInputStream(new File("E:/aa.xls"));
Workbook wb = WorkbookFactory.create(fis);
int sheetNums = wb.getNumberOfSheets();
HSSFWorkbook tgWb = (HSSFWorkbook) wb;
// 首行样式
CellStyle cellStyle = tgWb.createCellStyle();
cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN); // 下边框
cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);// 左边框
cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);// 上边框
cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);// 右边框
Font font = tgWb.createFont();
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);// 加粗
cellStyle.setFont(font);
// 其它行样式
CellStyle cellStyle2 = tgWb.createCellStyle();
cellStyle2.setBorderBottom(HSSFCellStyle.BORDER_THIN); // 下边框
cellStyle2.setBorderLeft(HSSFCellStyle.BORDER_THIN);// 左边框
cellStyle2.setBorderTop(HSSFCellStyle.BORDER_THIN);// 上边框
cellStyle2.setBorderRight(HSSFCellStyle.BORDER_THIN);// 右边框
for (int i = 0; i sheetNums; i++) {
HSSFSheet hssfSheet = tgWb.getSheetAt(i);
// 去除网格
hssfSheet.setDisplayGridlines(false);
// 多少列
int rowNums = hssfSheet.getLastRowNum();
for (int j = 0; j = rowNums; j++) {
HSSFRow hssfRow = hssfSheet.getRow(j);
int cellNums = hssfRow.getLastCellNum();
for (int k = 0; k cellNums; k++) {
HSSFCell hssfCell = hssfRow.getCell(k);
if (hssfCell != null) {
if (j == 0) {
hssfCell.setCellStyle(cellStyle);
} else {
hssfCell.setCellStyle(cellStyle2);
}
}
}
}
}
FileOutputStream fileOut = new FileOutputStream("E:/bb.xls");
tgWb.write(fileOut);
fileOut.close();
wb.close();
tgWb.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
怎么用java的poi的工具包删除指定的单元格内容?(大神来看下吧,我只有10分了,太少,只求有人帮个忙)
在sheet对象里有删除行的方法。removeRow.
删除列的话,还是建议你用循环去处理。比如说,你在每一行getCell()的时候,跳过这个cell。
java删除sheet的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java删除sheet页方法、java删除sheet的信息别忘了在本站进行查找喔。
发布于:2022-12-06,除非注明,否则均为
原创文章,转载请注明出处。