/** * Set the sheet name. * * @param sheetIndex sheet number (0 based) * @param sheetname the new sheet name * @throws ArgumentException if the name is null or invalid * or workbook already Contains a sheet with this name * @see {@link #CreateSheet(String)} * @see {@link NPOI.ss.util.WorkbookUtil#CreateSafeSheetName(String nameProposal)} * for a safe way to create valid names */ public void SetSheetName(int sheetIndex, String sheetname) { ValidateSheetIndex(sheetIndex); String oldSheetName = GetSheetName(sheetIndex); // YK: Mimic Excel and silently tRuncate sheet names longer than 31 characters if (sheetname != null && sheetname.Length > 31) sheetname = sheetname.Substring(0, 31); WorkbookUtil.ValidateSheetName(sheetname); // Do nothing if no change if (sheetname.Equals(oldSheetName)) return; // Check it isn't already taken if (ContainsSheet(sheetname, sheetIndex)) throw new ArgumentException("The workbook already contains a sheet of this name"); // Update references to the name XSSFFormulaUtils utils = new XSSFFormulaUtils(this); utils.UpdateSheetName(sheetIndex, oldSheetName, sheetname); workbook.sheets.GetSheetArray(sheetIndex).name = (sheetname); }
/** * Set the sheet name. * * @param sheetIndex sheet number (0 based) * @param sheetname the new sheet name * @throws ArgumentException if the name is null or invalid * or workbook already Contains a sheet with this name * @see {@link #CreateSheet(String)} * @see {@link NPOI.ss.util.WorkbookUtil#CreateSafeSheetName(String nameProposal)} * for a safe way to create valid names */ public void SetSheetName(int sheetIndex, String sheetname) { ValidateSheetIndex(sheetIndex); // YK: Mimic Excel and silently tRuncate sheet names longer than 31 characters if (sheetname != null && sheetname.Length > 31) sheetname = sheetname.Substring(0, 31); WorkbookUtil.ValidateSheetName(sheetname); if (ContainsSheet(sheetname, sheetIndex)) throw new ArgumentException("The workbook already contains a sheet of this name"); XSSFFormulaUtils utils = new XSSFFormulaUtils(this); utils.UpdateSheetName(sheetIndex, sheetname); workbook.sheets.GetSheetArray(sheetIndex).name = (sheetname); }