Beispiel #1
0
        /**
         * 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);
        }
Beispiel #2
0
        /**
         * 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);
        }