在现有的Excel表格中,指定某一行插入数据,下面的单元格往下移动
移动前:

如上图,Excel 第一个单元格“广东”的索引是0,在“广东”下插入一条“广东1”的数据,得先将“广东2”(索引是1)以下的所有单元格向下移动一个单元格,然后再索引为1的位置添加“广东1”;
实现代码:
String url = "C:\\test.xls";
FileInputStream fs;
try {
fs = new FileInputStream(url);
POIFSFileSystem ps = new POIFSFileSystem(fs);
HSSFWorkbook wb = new HSSFWorkbook(ps);
HSSFSheet sheet = wb.getSheetAt(0);
sheet.shiftRows(1, sheet.getLastRowNum(), 1);
HSSFRow row = sheet.getRow(1);
FileOutputStream out = new FileOutputStream(url);
row.createCell(0).setCellValue("广东1");
row.createCell(1).setCellValue("广州1");
out.flush();
wb.write(out);
out.close();
System.out.println(row.getPhysicalNumberOfCells() + " " + row.getLastCellNum());
} catch (Exception e) {
e.printStackTrace();
}
移动后:
