All pastes #259388 Raw Edit

Mine

public text v1 · immutable
#259388 ·published 2006-11-27 12:40 UTC
rendered paste body
/*
 * Storage.java
 *
 * Created on 22. November 2006, 19:55
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package javaapplication5;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

/**
 *
 * @author kj09
 */
public class Storage {
    //private WritableWorkbook workbook;
    //private WritableSheet sheet;
    private HSSFWorkbook wb;
    private  HSSFSheet sheet1;
    private FileOutputStream fileOut;
    private boolean isClosed = false;
    /** Creates a new instance of Storage */
    public Storage(String Workbookpath, String SheetName)  {
        
    wb = new HSSFWorkbook();
        try {
            fileOut = new FileOutputStream("output.xls");
        } catch (FileNotFoundException ex) {
            ex.printStackTrace();
        }
    sheet1 = wb.createSheet("data");
    }
    public synchronized int add(String[] exdata) throws IOException{
        //Letzte Zeile raussuchen:
        int lastrow = sheet1.getLastRowNum()+1;
            System.out.println(exdata);
        for(int i=0; i<exdata.length; i++){//Alle Einträge durchgehen:
            //reinschreiben
            addData(i, lastrow+1, (String) exdata[i]);
        }
        return(lastrow);
        
    }
    
        public synchronized int add(String[] exdata, int id) throws IOException{
        //Letzte Zeile raussuchen:
        int lastrow = sheet1.getLastRowNum();
        HSSFRow rowc = sheet1.createRow((short) lastrow);
        int lastcol = rowc.getLastCellNum()+1;
        for(int i=0; i<exdata.length; i++){//Alle Einträge durchgehen:
            //reinschreiben
            addData(lastcol+i, lastrow+1, (String) exdata[i]);
        }
        return(lastrow); 
    }
    
    
    private synchronized void addData(int Col, int Row, String data) throws IOException{ //Fügt eine Zelle hinzu.
        System.out.println("Data saved - Column: "+Col+" Row: "+Row+" Data: "+data);
        HSSFRow row = sheet1.createRow((short) Row);
        row.createCell((short)Col).setCellValue(data);
        wb.write(fileOut);
        fileOut.flush();
      }
    
    public synchronized void close() throws IOException{
        if(isClosed == false){
             isClosed = true;
        System.out.println("..Writing to data-storage..");
        wb.write(fileOut);
        fileOut.flush();
        fileOut.close(); 
        System.out.println("Done.");
        }
    }
    
    public synchronized int lastrowID(){
        System.out.println("Requested last row: "+sheet1.getLastRowNum());
        return(sheet1.getLastRowNum());
    }
    
}