直接上代码
@Test
public void operateOfSheet(){
Workbook workbook = new HSSFWorkbook();
FileOutputStream fileOutputStream = null;
try {
fileOutputStream = new FileOutputStream("D:\\test.xls");
Sheet sheet1 = workbook.createSheet("new sheet");
Sheet sheet2 = workbook.createSheet("second sheet");
// Note that sheet name is Excel must not exceed 31 characters
// and must not contain any of the any of the following characters:
// 0x0000
// 0x0003
// colon (:)
// backslash (\)
// asterisk (*)
// question mark (?)
// forward slash (/)
// opening square bracket ([)
// closing square bracket (])
//验证合法的sheet name
String sheetName = WorkbookUtil.createSafeSheetName("[O'Brien's sales*?]"); //return O'Brien's sales
System.out.println(sheetName);
Sheet sheet3 = workbook.createSheet(sheetName);
//追加sheet
Sheet sheet4 = workbook.createSheet("append sheet");
//复制sheet
Sheet cloneSheet = workbook.cloneSheet(0);
System.out.println(cloneSheet.getSheetName());//return new sheet (2)
//修改sheet name
workbook.setSheetName(0, "one sheet");
System.out.println(workbook.getSheetName(0));
//删除Sheet
workbook.removeSheetAt(0);
//设置下部Sheet名的Tab的第一个可见Tab
workbook.setFirstVisibleTab(0);//设置下部Sheet名的Tab的第一个可见Tab(以左的Sheet看不见)
//调整Sheet顺序
workbook.setSheetOrder("second sheet", 0);
workbook.setSheetOrder(workbook.getSheetName(3), 0);
//设置当前Sheet
//(Excel的当前Sheet被设置,需要结合setSelected使用,不然下部Sheet名的Tab还是默认为第一个)
//(需要选择多个Sheet的话,每个Sheet调用setSelected(true)即可)
workbook.setActiveSheet(workbook.getNumberOfSheets() - 1);
workbook.getSheetAt(workbook.getNumberOfSheets() - 1).setSelected(true);
//固定窗口
workbook.getSheet("second sheet").createFreezePane(2, 2);
//分割窗口
workbook.getSheet("second sheet").createSplitPane(2000, 2000, 0, 0, HSSFSheet.PANE_LOWER_LEFT);
//Sheet缩放
//setZoom(int numerator, int denominator)
//"numerator"÷"denominator" 例如: 3÷1=3 那就是设置为300%
//扩大(200%)
workbook.getSheet("second sheet").setZoom(2, 1);
//缩小(50%)
workbook.getSheet("second sheet").setZoom(1, 2);
workbook.write(fileOutputStream);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
fileOutputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
sheet 相关操作。