我遇到了一个问题。我不知道如何在不将后记留空的情况下删除行。
我正在使用Apache-POI 3.9,使用下一个代码时出现错误:
public List<MeterInfo> addToList(String patternt) throws ParseException, IOException {
List<Object> data = new ArrayList<Object>();
int lastRowNum = sheet.getLastRowNum();
Row row;
for(int i = 0; i < lastRowNum; i++){
row = sheet.getRow(i);
if(patternt.equals(getCurrentString(row))){
data.add(getDataFromRow(row));
sheet.removeRow(row);
sheet.shiftRows(row.getRowNum() + 1, row.getRowNum() + 1, -1);
}
}
saveWorkbook(new File("blabla.xlsx"));
return data;
}
更新版本:
我找到了解决方案:但是由于每个删除行都减少了lastRowNum,所以我得到了空指针。
这是新版本:
public List<Object> addToList(String pattern) throws ParseException, IOException {
List<Object> data= new ArrayList<Object>();
for (int i = 0; i <= sheet.getLastRowNum(); i++) {
Row row = sheet.getRow(i);
if (pattern.equals(getCurrentString(row))) {
data.add(getMeterInfo(row));
deleteRow(row);
}
}
saveWorkbook(new File("blabla.xlsx"));
return data;
}
private void deleteRow(Row row) {
int lastRowNum = sheet.getLastRowNum();
int rowIndex = row.getRowNum();
if(rowIndex >= 0 && rowIndex < lastRowNum){
sheet.shiftRows(rowIndex + 1, lastRowNum, -1);
}
if(rowIndex == lastRowNum){
Row removingRow = sheet.getRow(rowIndex);
if(removingRow != null){
sheet.removeRow(removingRow);
}
}
}
最后更新: ManishChristian帮助我解决了这个问题!
试试下面的代码,它应该可以工作:
for(int i = 0; i < sheet.getLastRowNum(); i++)
{
row = sheet.getRow(i);
if(patternt.equals(getCurrentString(row)))
{
data.add(getDataFromRow(row));
// sheet.removeRow(row); NO NEED FOR THIS LINE
sheet.shiftRows(row.getRowNum() + 1, sheet.getLastRowNum() + 1, -1);
i--;
}
}
i
每次删除一行都需要减少一。并再次使用获取最后一个行号getLastRowNum()
。
当单击按钮时,我试图删除表中的数据行。我当前的代码在1-3次按下后删除行内容,但我希望它能清除内容,然后在一次按下中添加新内容。 这是我正在使用的代码。。。 5行数据显示在jTable中。再次按下按钮后,将删除两行数据。如果我按下按钮,第二次留下一行数据。第三次按下按钮,所有行都被删除,下一次按下按钮将插入5行数据。理想情况下,我希望这个按钮总是清除行字段,然后添加插入的数据。使每个按钮按下显示新
下面是我正在使用的代码: 执行这段代码后,它将清除整行文本,而不是只清除给定矩形内的文本。 为了更好地解释事情,我附上了pdf文档。 任何帮助都将不胜感激。
idea和webstorm中如何快速清除本行内容,但是不删除行,以便于重新写代码?我知道有ctrl+y可以删除行,但是它也会删除换行符。我的需求是行保留,但是能快速清空行内容,相当于节约了使用backspace删除字符的时间,不知道有没有这样的快捷键?当然我也知道可以用鼠标全选行内容再按backspace,但是还是感觉麻烦。 快速删除内容,并且光标定位到行开头,以便于重新输入代码
我的第一个列表中有3个对象,但只有一个包含必需的注释 两个列表都以包含包含注释的唯一对象结尾 如果有人有主意的话,我就有点迷路了!
正如标题所示,我无法使用delete()选项。我在网上发了很多帖子,但都找不到正确的答案。我正在Homestead上使用Laravel5.5(一周前安装,最新版本左右)。 让我给你一些代码,我真的希望有人能帮助我。 这让我头痛,奥氮平快用完了。请告诉我我做错了什么,如果遗漏了什么,请告诉我! 这是我的控制器: 这是我的索引页(索引与后端的管理索引相同: 然后是路线: 然后政策: 最后是中间件: 在
我在一个数字海洋Ubuntu虚拟机上运行一个独立的清漆实例,基本上运行良好。该设置用于加载一个位于其他任何地方的旧wordpress服务器。这工作得很好,但我很难清除内容。当谈到清除时,我的意思是使URL的缓存无效,以迫使清漆从后端获取新版本(只是为了确保我看到了一些关于清除/禁止的恼怒)。 我已经为清除设置了一个ACL,就我所能看到的varnishlog的清除被接受了-从WordPress博客的