📄 biffviewer.java
字号:
break; case DimensionsRecord.sid: retval = new DimensionsRecord( in ); break; case RowRecord.sid: retval = new RowRecord( in ); break; case LabelSSTRecord.sid: retval = new LabelSSTRecord( in ); break; case RKRecord.sid: retval = new RKRecord( in ); break; case NumberRecord.sid: retval = new NumberRecord( in ); break; case DBCellRecord.sid: retval = new DBCellRecord( in ); break; case WindowTwoRecord.sid: retval = new WindowTwoRecord( in ); break; case SelectionRecord.sid: retval = new SelectionRecord( in ); break; case ContinueRecord.sid: retval = new ContinueRecord( in ); break; case LabelRecord.sid: retval = new LabelRecord( in ); break; case MulRKRecord.sid: retval = new MulRKRecord( in ); break; case MulBlankRecord.sid: retval = new MulBlankRecord( in ); break; case BlankRecord.sid: retval = new BlankRecord( in ); break; case BoolErrRecord.sid: retval = new BoolErrRecord( in ); break; case ColumnInfoRecord.sid: retval = new ColumnInfoRecord( in ); break; case MergeCellsRecord.sid: retval = new MergeCellsRecord( in ); break; case AreaRecord.sid: retval = new AreaRecord( in ); break; case DataFormatRecord.sid: retval = new DataFormatRecord( in ); break; case BarRecord.sid: retval = new BarRecord( in ); break; case DatRecord.sid: retval = new DatRecord( in ); break; case PlotGrowthRecord.sid: retval = new PlotGrowthRecord( in ); break; case UnitsRecord.sid: retval = new UnitsRecord( in ); break; case FrameRecord.sid: retval = new FrameRecord( in ); break; case ValueRangeRecord.sid: retval = new ValueRangeRecord( in ); break; case SeriesListRecord.sid: retval = new SeriesListRecord( in ); break; case FontBasisRecord.sid: retval = new FontBasisRecord( in ); break; case FontIndexRecord.sid: retval = new FontIndexRecord( in ); break; case LineFormatRecord.sid: retval = new LineFormatRecord( in ); break; case AreaFormatRecord.sid: retval = new AreaFormatRecord( in ); break; case LinkedDataRecord.sid: retval = new LinkedDataRecord( in ); break; case FormulaRecord.sid: retval = new FormulaRecord( in ); break; case SheetPropertiesRecord.sid: retval = new SheetPropertiesRecord( in ); break; case DefaultDataLabelTextPropertiesRecord.sid: retval = new DefaultDataLabelTextPropertiesRecord( in ); break; case TextRecord.sid: retval = new TextRecord( in ); break; case AxisParentRecord.sid: retval = new AxisParentRecord( in ); break; case AxisLineFormatRecord.sid: retval = new AxisLineFormatRecord( in ); break; case SupBookRecord.sid: retval = new SupBookRecord( in ); break; case ExternSheetRecord.sid: retval = new ExternSheetRecord( in ); break; case SCLRecord.sid: retval = new SCLRecord( in ); break; case SeriesToChartGroupRecord.sid: retval = new SeriesToChartGroupRecord( in ); break; case AxisUsedRecord.sid: retval = new AxisUsedRecord( in ); break; case AxisRecord.sid: retval = new AxisRecord( in ); break; case CategorySeriesAxisRecord.sid: retval = new CategorySeriesAxisRecord( in ); break; case AxisOptionsRecord.sid: retval = new AxisOptionsRecord( in ); break; case TickRecord.sid: retval = new TickRecord( in ); break; case SeriesTextRecord.sid: retval = new SeriesTextRecord( in ); break; case ObjectLinkRecord.sid: retval = new ObjectLinkRecord( in ); break; case PlotAreaRecord.sid: retval = new PlotAreaRecord( in ); break; case SeriesIndexRecord.sid: retval = new SeriesIndexRecord( in ); break; case LegendRecord.sid: retval = new LegendRecord( in ); break; case LeftMarginRecord.sid: retval = new LeftMarginRecord( in ); break; case RightMarginRecord.sid: retval = new RightMarginRecord( in ); break; case TopMarginRecord.sid: retval = new TopMarginRecord( in ); break; case BottomMarginRecord.sid: retval = new BottomMarginRecord( in ); break; case PaletteRecord.sid: retval = new PaletteRecord( in ); break; case StringRecord.sid: retval = new StringRecord( in ); break; case NameRecord.sid: retval = new NameRecord( in ); break; case PaneRecord.sid: retval = new PaneRecord( in ); break; case SharedFormulaRecord.sid: retval = new SharedFormulaRecord( in); break; case ObjRecord.sid: retval = new ObjRecord( in); break; case TextObjectRecord.sid: retval = new TextObjectRecord( in); break; case HorizontalPageBreakRecord.sid: retval = new HorizontalPageBreakRecord( in); break; case VerticalPageBreakRecord.sid: retval = new VerticalPageBreakRecord( in); break; case WriteProtectRecord.sid: retval = new WriteProtectRecord( in); break; case FilePassRecord.sid: retval = new FilePassRecord(in); break; case NoteRecord.sid: retval = new NoteRecord( in ); break; default: retval = new UnknownRecord( in ); } return retval; } /** * Method setDump - hex dump out data or not. * *@param dump */ public void setDump(boolean dump) { this.dump = dump; } /** * Method main with 1 argument just run straight biffview against given * file<P> * * with 2 arguments where the second argument is "on" - run biffviewer<P> * * with hex dumps of records <P> * * with 2 arguments where the second argument is "bfd" just run a big fat * hex dump of the file...don't worry about biffviewing it at all * <p> * Define the system property <code>poi.deserialize.escher</code> to turn on * deserialization of escher records. * */ public static void main(String[] args) { try { System.setProperty("poi.deserialize.escher", "true"); if (args.length == 0) { System.out.println( "Biff viewer needs a filename" ); } else { BiffViewer viewer = new BiffViewer(args); if ((args.length > 1) && args[1].equals("on")) { viewer.setDump(true); } if ((args.length > 1) && args[1].equals("bfd")) { POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(args[0])); InputStream stream = fs.createDocumentInputStream("Workbook"); int size = stream.available(); byte[] data = new byte[size]; stream.read(data); HexDump.dump(data, 0, System.out, 0); } else { viewer.run(); } } } catch (Exception e) { e.printStackTrace(); } } /** * This record supports dumping of completed continue records. */ static class RecordDetails { short rectype, recsize; int startloc; Record record; public RecordDetails( short rectype, short recsize, int startloc, Record record ) { this.rectype = rectype; this.recsize = recsize; this.startloc = startloc; this.record = record; } public short getRectype() { return rectype; } public short getRecsize() { return recsize; } public Record getRecord() { return record; } public void dump() throws IOException { dumpNormal(record, startloc, rectype, recsize); } } static class BiffviewRecordInputStream extends RecordInputStream { public BiffviewRecordInputStream(InputStream in) { super(in); } public void dumpBytes() { HexDump.dump(this.data, 0, this.currentLength); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -