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

📄 biffviewer.java

📁 java 读写word excel ppt
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/* ====================================================================   Licensed to the Apache Software Foundation (ASF) under one or more   contributor license agreements.  See the NOTICE file distributed with   this work for additional information regarding copyright ownership.   The ASF licenses this file to You under the Apache License, Version 2.0   (the "License"); you may not use this file except in compliance with   the License.  You may obtain a copy of the License at       http://www.apache.org/licenses/LICENSE-2.0   Unless required by applicable law or agreed to in writing, software   distributed under the License is distributed on an "AS IS" BASIS,   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.   See the License for the specific language governing permissions and   limitations under the License.==================================================================== *//* *  BiffViewer.java * *  Created on November 13, 2001, 9:23 AM */package org.apache.poi.hssf.dev;import org.apache.poi.hssf.record.*;import org.apache.poi.poifs.filesystem.POIFSFileSystem;import org.apache.poi.util.HexDump;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.util.ArrayList;/** *  Utillity for reading in BIFF8 records and displaying data from them. * *@author     Andrew C. Oliver (acoliver at apache dot org) *@author     Glen Stampoultzis (glens at apache.org) *@see        #main */public class BiffViewer {    String filename;    private boolean dump;    /**     *  Creates new BiffViewer     *     *@param  args     */    public BiffViewer(String[] args) {        if (args.length > 0) {            filename = args[0];        } else {            System.out.println("BIFFVIEWER REQUIRES A FILENAME***");        }    }    /**     *  Method run starts up BiffViewer...     */    public void run() {        try {            POIFSFileSystem fs =                    new POIFSFileSystem(new FileInputStream(filename));            InputStream stream =                    fs.createDocumentInputStream("Workbook");            createRecords(stream, dump);        } catch (Exception e) {            e.printStackTrace();        }    }    /**     *  Create an array of records from an input stream     *     *@param  in                         the InputStream from which the records     *      will be obtained     *@param  dump     *@return                            an array of Records created from the     *      InputStream     *@exception  RecordFormatException  on error processing the InputStream     */    public static Record[] createRecords(InputStream in, boolean dump)             throws RecordFormatException {        ArrayList records = new ArrayList();        RecordDetails activeRecord = null;        try {          BiffviewRecordInputStream recStream = new BiffviewRecordInputStream(in);          while (recStream.hasNextRecord()) {            recStream.nextRecord();            if (recStream.getSid() != 0) {              Record record = createRecord (recStream);                    if (record.getSid() != ContinueRecord.sid)                    {                        records.add(record);                        if (activeRecord != null)                            activeRecord.dump();                  activeRecord = new RecordDetails(recStream.getSid(), recStream.getLength(), (int)recStream.getPos(), record);                    }                    if (dump) {                recStream.dumpBytes();              }                    }                }            activeRecord.dump();        } catch (IOException e) {            throw new RecordFormatException("Error reading bytes", e);        }        Record[] retval = new Record[records.size()];        retval = (Record[]) records.toArray(retval);        return retval;    }    private static void dumpNormal(Record record, int startloc, short rectype, short recsize)    {        System.out.println("Offset 0x" + Integer.toHexString(startloc) + " (" + startloc + ")");        System.out.println( "recordid = 0x" + Integer.toHexString( rectype ) + ", size = " + recsize );        System.out.println( record.toString() );    }    /**     *  Essentially a duplicate of RecordFactory. Kept seperate as not to screw     *  up non-debug operations.     *     */    private static Record createRecord( RecordInputStream in )    {        Record retval = null;        switch ( in.getSid() )        {            case ChartRecord.sid:                retval = new ChartRecord( in );                break;            case ChartFormatRecord.sid:                retval = new ChartFormatRecord( in );                break;            case SeriesRecord.sid:                retval = new SeriesRecord( in );                break;            case BeginRecord.sid:                retval = new BeginRecord( in );                break;            case EndRecord.sid:                retval = new EndRecord( in );                break;            case BOFRecord.sid:                retval = new BOFRecord( in );                break;            case InterfaceHdrRecord.sid:                retval = new InterfaceHdrRecord( in );                break;            case MMSRecord.sid:                retval = new MMSRecord( in );                break;            case InterfaceEndRecord.sid:                retval = new InterfaceEndRecord( in );                break;            case WriteAccessRecord.sid:                retval = new WriteAccessRecord( in );                break;            case CodepageRecord.sid:                retval = new CodepageRecord( in );                break;            case DSFRecord.sid:                retval = new DSFRecord( in );                break;            case TabIdRecord.sid:                retval = new TabIdRecord( in );                break;            case FnGroupCountRecord.sid:                retval = new FnGroupCountRecord( in );                break;            case WindowProtectRecord.sid:                retval = new WindowProtectRecord( in );                break;            case ProtectRecord.sid:                retval = new ProtectRecord( in );                break;            case PasswordRecord.sid:                retval = new PasswordRecord( in );                break;            case ProtectionRev4Record.sid:                retval = new ProtectionRev4Record( in );                break;            case PasswordRev4Record.sid:                retval = new PasswordRev4Record( in );                break;            case WindowOneRecord.sid:                retval = new WindowOneRecord( in );                break;            case BackupRecord.sid:                retval = new BackupRecord( in );                break;            case HideObjRecord.sid:                retval = new HideObjRecord( in );                break;            case DateWindow1904Record.sid:                retval = new DateWindow1904Record( in );                break;            case PrecisionRecord.sid:                retval = new PrecisionRecord( in );                break;            case RefreshAllRecord.sid:                retval = new RefreshAllRecord( in );                break;            case BookBoolRecord.sid:                retval = new BookBoolRecord( in );                break;            case FontRecord.sid:                retval = new FontRecord( in );                break;            case FormatRecord.sid:                retval = new FormatRecord( in );                break;            case ExtendedFormatRecord.sid:                retval = new ExtendedFormatRecord( in );                break;            case StyleRecord.sid:                retval = new StyleRecord( in );                break;            case UseSelFSRecord.sid:                retval = new UseSelFSRecord( in );                break;            case BoundSheetRecord.sid:                retval = new BoundSheetRecord( in );                break;            case CountryRecord.sid:                retval = new CountryRecord( in );                break;            case SSTRecord.sid:                retval = new SSTRecord( in );                break;            case ExtSSTRecord.sid:                retval = new ExtSSTRecord( in );                break;            case EOFRecord.sid:                retval = new EOFRecord( in );                break;            case IndexRecord.sid:                retval = new IndexRecord( in );                break;            case CalcModeRecord.sid:                retval = new CalcModeRecord( in );                break;            case CalcCountRecord.sid:                retval = new CalcCountRecord( in );                break;            case RefModeRecord.sid:                retval = new RefModeRecord( in );                break;            case IterationRecord.sid:                retval = new IterationRecord( in );                break;            case DeltaRecord.sid:                retval = new DeltaRecord( in );                break;            case SaveRecalcRecord.sid:                retval = new SaveRecalcRecord( in );                break;            case PrintHeadersRecord.sid:                retval = new PrintHeadersRecord( in );                break;            case PrintGridlinesRecord.sid:                retval = new PrintGridlinesRecord( in );                break;            case GridsetRecord.sid:                retval = new GridsetRecord( in );                break;            case DrawingGroupRecord.sid:                retval = new DrawingGroupRecord( in );                break;            case DrawingRecordForBiffViewer.sid:                retval = new DrawingRecordForBiffViewer( in );                break;            case DrawingSelectionRecord.sid:                retval = new DrawingSelectionRecord( in );                break;            case GutsRecord.sid:                retval = new GutsRecord( in );                break;            case DefaultRowHeightRecord.sid:                retval = new DefaultRowHeightRecord( in );                break;            case WSBoolRecord.sid:                retval = new WSBoolRecord( in );                break;            case HeaderRecord.sid:                retval = new HeaderRecord( in );                break;            case FooterRecord.sid:                retval = new FooterRecord( in );                break;            case HCenterRecord.sid:                retval = new HCenterRecord( in );                break;            case VCenterRecord.sid:                retval = new VCenterRecord( in );                break;            case PrintSetupRecord.sid:                retval = new PrintSetupRecord( in );                break;            case DefaultColWidthRecord.sid:                retval = new DefaultColWidthRecord( in );

⌨️ 快捷键说明

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