⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sheetreader.java

📁 一个非常有用的操作MCRSOFT EXCEL文件的工具。可以用JAVA方便的新建
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
            addCell(nv);          }        }      }      else if (r.getType() == Type.NUMBER)      {        NumberRecord nr = new NumberRecord(r, formattingRecords, sheet);        if (formattingRecords.isDate(nr.getXFIndex()))        {          DateCell dc = new DateRecord(nr,                                       nr.getXFIndex(),                                       formattingRecords,                                       nineteenFour, sheet);          addCell(dc);        }        else        {          addCell(nr);        }      }      else if (r.getType() == Type.BOOLERR)      {        BooleanRecord br = new BooleanRecord(r, formattingRecords, sheet);        if (br.isError())        {          ErrorRecord er = new ErrorRecord(br.getRecord(), formattingRecords,                                           sheet);          addCell(er);        }        else        {          addCell(br);        }      }      else if (r.getType() == Type.PRINTGRIDLINES)      {        printGridLinesRecord = new PrintGridLinesRecord(r);        settings.setPrintGridLines(printGridLinesRecord.getPrintGridLines());      }      else if (r.getType() == Type.PRINTHEADERS)      {        printHeadersRecord = new PrintHeadersRecord(r);        settings.setPrintHeaders(printHeadersRecord.getPrintHeaders());      }      else if (r.getType() == Type.WINDOW2)      {        window2Record = new Window2Record(r);        settings.setShowGridLines(window2Record.getShowGridLines());        settings.setDisplayZeroValues(window2Record.getDisplayZeroValues());        settings.setSelected(true);      }      else if (r.getType() == Type.PANE)      {        PaneRecord pr = new PaneRecord(r);        if (window2Record != null &&            window2Record.getFrozen() &&            window2Record.getFrozenNotSplit())        {          settings.setVerticalFreeze(pr.getRowsVisible());          settings.setHorizontalFreeze(pr.getColumnsVisible());        }      }      else if (r.getType() == Type.CONTINUE)      {        ;      }      else if (r.getType() == Type.NOTE)      {        NoteRecord nr = new NoteRecord(r);        // Get the comment for the object id        Comment comment = (Comment) comments.remove          (new Integer(nr.getObjectId()));        Assert.verify(comment != null, " object id:  " + nr.getObjectId());        comment.setNote(nr);        drawings.add(comment);                addCellComment(comment.getColumn(),                        comment.getRow(),                        comment.getText());      }      else if (r.getType() == Type.ARRAY)      {        ;      }      else if (r.getType() == Type.PROTECT)      {        ProtectRecord pr = new ProtectRecord(r);        settings.setProtected(pr.isProtected());      }      else if (r.getType() == Type.SHAREDFORMULA)      {        if (sharedFormula == null)        {          logger.warn("Shared template formula is null - " +                      "trying most recent formula template");          SharedFormulaRecord lastSharedFormula =             (SharedFormulaRecord) sharedFormulas.get(sharedFormulas.size()-1);          if (lastSharedFormula != null)          {            sharedFormula = lastSharedFormula.getTemplateFormula();          }        }        SharedFormulaRecord sfr = new SharedFormulaRecord          (r, sharedFormula, workbook, workbook, sheet);        sharedFormulas.add(sfr);        sharedFormula = null;      }      else if (r.getType() == Type.FORMULA || r.getType() == Type.FORMULA2)      {        FormulaRecord fr = new FormulaRecord(r,                                             excelFile,                                             formattingRecords,                                             workbook,                                             workbook,                                             sheet,                                             workbookSettings);        if (fr.isShared())        {          BaseSharedFormulaRecord prevSharedFormula = sharedFormula;          sharedFormula = (BaseSharedFormulaRecord) fr.getFormula();          // See if it fits in any of the shared formulas          sharedFormulaAdded = addToSharedFormulas(sharedFormula);          if (sharedFormulaAdded)          {            sharedFormula = prevSharedFormula;          }          // If we still haven't added the previous base shared formula,          // revert it to an ordinary formula and add it to the cell          if (!sharedFormulaAdded && prevSharedFormula != null)          {            // Do nothing.  It's possible for the biff file to contain the            // record sequence            // FORMULA-SHRFMLA-FORMULA-SHRFMLA-FORMULA-FORMULA-FORMULA            // ie. it first lists all the formula templates, then it            // lists all the individual formulas            addCell(revertSharedFormula(prevSharedFormula));          }        }        else        {          Cell cell = fr.getFormula();          // See if the formula evaluates to date          if (fr.getFormula().getType() == CellType.NUMBER_FORMULA)          {            NumberFormulaRecord nfr = (NumberFormulaRecord) fr.getFormula();            if (formattingRecords.isDate(nfr.getXFIndex()))            {              cell = new DateFormulaRecord(nfr,                                           formattingRecords,                                           workbook,                                           workbook,                                           nineteenFour,                                           sheet);            }          }          addCell(cell);        }      }      else if (r.getType() == Type.LABEL)      {        LabelRecord lr = null;        if (workbookBof.isBiff8())        {          lr = new LabelRecord(r, formattingRecords, sheet, workbookSettings);        }        else        {          lr = new LabelRecord(r, formattingRecords, sheet, workbookSettings,                               LabelRecord.biff7);        }        addCell(lr);      }      else if (r.getType() == Type.RSTRING)      {        RStringRecord lr = null;        // RString records are obsolete in biff 8        Assert.verify(!workbookBof.isBiff8());        lr = new RStringRecord(r, formattingRecords,                               sheet, workbookSettings,                               RStringRecord.biff7);        addCell(lr);      }      else if (r.getType() == Type.NAME)      {        ;      }      else if (r.getType() == Type.PASSWORD)      {        PasswordRecord pr = new PasswordRecord(r);        settings.setPasswordHash(pr.getPasswordHash());      }      else if (r.getType() == Type.ROW)      {        RowRecord rr = new RowRecord(r);        // See if the row has anything funny about it        if (!rr.isDefaultHeight() || !rr.matchesDefaultFontHeight() ||            rr.isCollapsed() ||             rr.isZeroHeight() || rr.hasDefaultFormat())        {          rowProperties.add(rr);        }      }      else if (r.getType() == Type.BLANK)      {        if (!workbookSettings.getIgnoreBlanks())        {          BlankCell bc = new BlankCell(r, formattingRecords, sheet);          addCell(bc);        }      }      else if (r.getType() == Type.MULBLANK)      {        if (!workbookSettings.getIgnoreBlanks())        {          MulBlankRecord mulblank = new MulBlankRecord(r);          // Get the individual cell records from the multiple record          int num = mulblank.getNumberOfColumns();          for (int i = 0; i < num; i++)          {            int ixf = mulblank.getXFIndex(i);            MulBlankCell mbc = new MulBlankCell              (mulblank.getRow(),               mulblank.getFirstColumn() + i,               ixf,               formattingRecords,               sheet);                        addCell(mbc);          }        }      }      else if (r.getType() == Type.SCL)      {        SCLRecord scl = new SCLRecord(r);        settings.setZoomFactor(scl.getZoomFactor());      }      else if (r.getType() == Type.COLINFO)      {        ColumnInfoRecord cir = new ColumnInfoRecord(r);        columnInfosArray.add(cir);      }      else if (r.getType() == Type.HEADER)      {        HeaderRecord hr = null;        if (workbookBof.isBiff8())        {          hr = new HeaderRecord(r, workbookSettings);        }        else        {          hr = new HeaderRecord(r, workbookSettings, HeaderRecord.biff7);        }                HeaderFooter header = new HeaderFooter(hr.getHeader());        settings.setHeader(header);      }      else if (r.getType() == Type.FOOTER)      {        FooterRecord fr = null;        if (workbookBof.isBiff8())        {          fr = new FooterRecord(r, workbookSettings);        }        else        {          fr = new FooterRecord(r, workbookSettings, FooterRecord.biff7);        }        HeaderFooter footer = new HeaderFooter(fr.getFooter());        settings.setFooter(footer);      }      else if (r.getType() == Type.SETUP)      {        SetupRecord sr = new SetupRecord(r);        if (sr.isPortrait())        {          settings.setOrientation(PageOrientation.PORTRAIT);        }        else        {          settings.setOrientation(PageOrientation.LANDSCAPE);        }        settings.setPaperSize(PaperSize.getPaperSize(sr.getPaperSize()));        settings.setHeaderMargin(sr.getHeaderMargin());        settings.setFooterMargin(sr.getFooterMargin());        settings.setScaleFactor(sr.getScaleFactor());        settings.setPageStart(sr.getPageStart());        settings.setFitWidth(sr.getFitWidth());        settings.setFitHeight(sr.getFitHeight());        settings.setHorizontalPrintResolution          (sr.getHorizontalPrintResolution());        settings.setVerticalPrintResolution(sr.getVerticalPrintResolution());        settings.setCopies(sr.getCopies());        if (workspaceOptions != null)        {          settings.setFitToPages(workspaceOptions.getFitToPages());        }      }      else if (r.getType() == Type.WSBOOL)      {        workspaceOptions = new WorkspaceInformationRecord(r);      }      else if (r.getType() == Type.DEFCOLWIDTH)      {        DefaultColumnWidthRecord dcwr = new DefaultColumnWidthRecord(r);        settings.setDefaultColumnWidth(dcwr.getWidth());      }      else if (r.getType() == Type.DEFAULTROWHEIGHT)      {        DefaultRowHeightRecord drhr = new DefaultRowHeightRecord(r);        if (drhr.getHeight() != 0)        {          settings.setDefaultRowHeight(drhr.getHeight());        }      }      else if (r.getType() == Type.LEFTMARGIN)      {        MarginRecord m = new LeftMarginRecord(r);        settings.setLeftMargin(m.getMargin());      }      else if (r.getType() == Type.RIGHTMARGIN)      {        MarginRecord m = new RightMarginRecord(r);        settings.setRightMargin(m.getMargin());      }      else if (r.getType() == Type.TOPMARGIN)      {        MarginRecord m = new TopMarginRecord(r);        settings.setTopMargin(m.getMargin());      }      else if (r.getType() == Type.BOTTOMMARGIN)      {        MarginRecord m = new BottomMarginRecord(r);        settings.setBottomMargin(m.getMargin());      }      else if (r.getType() == Type.HORIZONTALPAGEBREAKS)      {        HorizontalPageBreaksRecord dr = null;        if (workbookBof.isBiff8())        {          dr = new HorizontalPageBreaksRecord(r);        }        else        {          dr = new HorizontalPageBreaksRecord            (r, HorizontalPageBreaksRecord.biff7);        }        rowBreaks = dr.getRowBreaks();      }      else if (r.getType() == Type.PLS)      {        plsRecord = new PLSRecord(r);      }      else if (r.getType() == Type.DVAL)      {        // Leave these until another day.  They need to be wrapped inside        // an implementation of DrawingGroupObject        //        DataValidityListRecord dvlr = new DataValidityListRecord(r);        //        dataValidation = new DataValidation(dvlr);      }      else if (r.getType() == Type.DV)      {        // Leave these until another day.  They need to be wrapped inside        // an implementation of DrawingGroupObject        //        DataValiditySettingsRecord dvsr = new DataValiditySettingsRecord(r);        //        dataValidation.add(dvsr);      }      else if (r.getType() == Type.OBJ)      {        objRecord = new ObjRecord(r);        if ((objRecord.getType() == ObjRecord.PICTURE ||              objRecord.getType() == ObjRecord.MSOFFICEDRAWING) &&            !workbookSettings.getDrawingsDisabled())        {          if (msoRecord == null)          {            logger.warn("object record is not associated with a drawing " +                        " record - ignoring");          }          else          {            if (drawingData == null)            {              drawingData = new DrawingData();            }                       Drawing drawing = new Drawing(msoRecord, objRecord, drawingData,                                          workbook.getDrawingGroup());            drawings.add(drawing);          }          msoRecord = null;          objRecord = null;        }        else if(objRecord.getType() == ObjRecord.EXCELNOTE &&                !workbookSettings.getDrawingsDisabled())        {          if (drawingData == null)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -