View | Details | Raw Unified | Return to bug 23951
Collapse All | Expand All

(-)src/java/org/apache/poi/hssf/usermodel/HSSFWorkbook.java (+1 lines)
Lines 321-326 Link Here
321
     */
321
     */
322
322
323
    public void setSheetOrder(String sheetname, int pos ) {
323
    public void setSheetOrder(String sheetname, int pos ) {
324
        sheets.add(pos,sheets.remove(getSheetIndex(sheetname)));
324
        workbook.setSheetOrder(sheetname, pos);
325
        workbook.setSheetOrder(sheetname, pos);
325
    }
326
    }
326
    
327
    
(-)src/java/org/apache/poi/hssf/model/Workbook.java (-1 / +13 lines)
Lines 738-743 Link Here
738
738
739
        SSTRecord sst = null;
739
        SSTRecord sst = null;
740
        int sstPos = 0;
740
        int sstPos = 0;
741
        boolean wroteBoundSheets = false;
741
        for ( int k = 0; k < records.size(); k++ )
742
        for ( int k = 0; k < records.size(); k++ )
742
        {
743
        {
743
744
Lines 745-750 Link Here
745
            // Let's skip RECALCID records, as they are only use for optimization
746
            // Let's skip RECALCID records, as they are only use for optimization
746
            if ( record.getSid() != RecalcIdRecord.sid || ( (RecalcIdRecord) record ).isNeeded() )
747
            if ( record.getSid() != RecalcIdRecord.sid || ( (RecalcIdRecord) record ).isNeeded() )
747
            {
748
            {
749
                int len = 0; 
748
                if (record instanceof SSTRecord)
750
                if (record instanceof SSTRecord)
749
                {
751
                {
750
                    sst = (SSTRecord)record;
752
                    sst = (SSTRecord)record;
Lines 754-760 Link Here
754
                {
756
                {
755
                    record = sst.createExtSSTRecord(sstPos + offset);
757
                    record = sst.createExtSSTRecord(sstPos + offset);
756
                }
758
                }
757
                int len = record.serialize( pos + offset, data );
759
                if (record instanceof BoundSheetRecord) {
760
                     if(!wroteBoundSheets) {
761
                        for (int i = 0; i < boundsheets.size(); i++) {
762
                            len+= ((BoundSheetRecord)boundsheets.get(i))
763
                                             .serialize(pos+offset+len, data);
764
                        }
765
                        wroteBoundSheets = true;
766
                     }
767
                } else {
768
                   len = record.serialize( pos + offset, data );
769
                }
758
                /////  DEBUG BEGIN /////
770
                /////  DEBUG BEGIN /////
759
//                if (len != record.getRecordSize())
771
//                if (len != record.getRecordSize())
760
//                    throw new IllegalStateException("Record size does not match serialized bytes.  Serialized size = " + len + " but getRecordSize() returns " + record.getRecordSize());
772
//                    throw new IllegalStateException("Record size does not match serialized bytes.  Serialized size = " + len + " but getRecordSize() returns " + record.getRecordSize());

Return to bug 23951