Visualizzazione dei risultati da 1 a 10 su 12

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    Quote Originariamente inviata da LeleFT Visualizza il messaggio
    Questo è ovvio... credo che la domanda fosse "Che classe è quel 'this' ?", in modo da poter andarne a consultare la documentazione o, se è una tua classe, poterne vedere il codice.


    Ciao.
    appunto...mi hai preceduta
    RTFM Read That F*** Manual!!!

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2013
    Messaggi
    7
    Quote Originariamente inviata da valia Visualizza il messaggio
    appunto...mi hai preceduta
    codice:
    public class Datasheet {
        private FileInputStream listaCom; //lista di comunicazione, il file viene passato per creare un foglio di calcolo da cui estrarre
        //i campi
        private HSSFWorkbook workbookInput;
        private HSSFSheet foglio;
        private HSSFWorkbook workbookOut;
        private HSSFSheet sheetOut, sheetInput;
        private HSSFRow rowInput;
        private String nomeWork;//nome del foglio di calcolo
        private String typeSheet;
        private int tipo_ldc, ultimo_indice_ldc;
        private ArrayList<HSSFRow> rows;
        private int numRighe;
        
        public static final int indice_WRDIG = 5;
        public static final int indice_RDDIG = 6;
        public static final int indice_WRANALOG = 7;
        public static final int indice_RDANALOG = 8;
        
        public static final String DR = "DR";
        public static final String AR = "AR";
        public static final String AI = "AI";
        public static final String DI = "DI";
        public static final String DA = "DA";
        
        
        /*
        COSTRUTTORE
        ---------------------------------------------------------
        Viene passato il nome della lista di Comunicazione e la tipologia (AR,DR,etc.)
        Viene creato un workbook (out) con un foglio di calcolo della tipologia specificata
        */
        
        public Datasheet(String nomeWork, String sheetType){
            
            /*PARTE 1: IMPOSTA IL TIPO DI FOGLIO*/
            
            this.nomeWork = nomeWork;
            typeSheet = sheetType;
            
            switch(typeSheet){
               case DR:
                    tipo_ldc = indice_WRDIG;
                    break;
               case AR:
                    tipo_ldc = indice_WRANALOG;
                    break;
               case AI:
                    tipo_ldc = indice_RDANALOG;
                    break;
               case DI:
                    tipo_ldc = indice_RDDIG;
                    break;
               case DA:
                    tipo_ldc = indice_RDDIG;
                    break;
            }
            
            /*PARTE 2: APRE IN LETTURA LA LISTA DI COMUNICAZIONE E CREA IL FILE DI OUTPUT*/
            
            /*parte x*/
            
            try{
                
            
            listaCom = new FileInputStream(this.nomeWork);    
            workbookInput = new HSSFWorkbook(listaCom);
            
            
            workbookOut = new HSSFWorkbook();
            
            /*parte x*/
            
            //creo il foglio nel file di output
            sheetOut = workbookOut.createSheet(typeSheet);
            //devo recuperare il foglio appropriato della lista di comunicazione
            sheetInput = workbookInput.getSheetAt(tipo_ldc);
            //mi salvo l'ultima riga presente nel file di input (lista di comunicazione)
            ultimo_indice_ldc = sheetInput.getLastRowNum();
            //System.out.println("La LDC ha: " + ultimo_indice_ldc + " righe ed è di tipo: " + this.typeSheet + " - " + tipo_ldc);
            
            /*parte x*/
            
           
            rows = new ArrayList<HSSFRow>();//inizializzo la lista di righe di intestazione
            listaCom.close();
            }catch(Exception e){
                System.out.println("ECCEZIONE(Costruttore_datasheet):");
                e.printStackTrace();
            }
            
            
            }//costruttore]
    questa è la classe.

    poi un metodo richiamato dentro la classe è:

    codice:
     private void writeCol(int indice, String value){
            
            HSSFRow row_output;
            
            for (int i=1; i<ultimo_indice_ldc; i++){ /**scorre fino all'ultima riga**/
                
                /*SCRITTURA*/
                 
                this.sheetOut.createRow(i+4); /*seleziona la riga corrente*/
                row_output = this.sheetOut.getRow(i+4);
                HSSFCell cellOut = row_output.createCell(indice); //creo la cella nella colonna prima ricercata
                cellOut.setCellValue(value); //scrittura del valore desiderato (_value) passato come argomento
                   //del metodo
                   
                
            }//FINE CICLO FOR
    e un altro:

    codice:
     private int searchCol(String colname, int rownum, boolean isInput){
        
        HSSFRow row_tmp;    
            
        if (isInput){
        row_tmp = this.sheetInput.getRow(rownum); /*prendo la riga di intestazione*/
                /*poi ricerco la colonna desiderata sulla base dell'argomento del metodo (variabile colname_ldc)*/
        }else{
          row_tmp = this.sheetOut.getRow(rownum);
        }   
        
        
            int indice_colonna_int = -1;
        
            System.out.println("DEBUG: la colonna è: " + row_tmp.getRowNum());
            short minColIx = row_tmp.getFirstCellNum();
            short maxColIx = row_tmp.getLastCellNum();
            System.out.println("DEBUG: minColIx: " + minColIx);
            System.out.println("DEBUG: maxColIx: " + maxColIx);
            for( short colIx=minColIx; colIx<maxColIx; colIx++) {
                HSSFCell cell_ldc;
                cell_ldc = row_tmp.getCell((int)colIx);
                
                if(cell_ldc == null) {
                    System.out.println("DEBUG: la cella è null - ");
                continue;
                }else{
                    System.out.println("DEBUG: la cella è diversa da null e contiene - " + cell_ldc.toString());
                if(cell_ldc.toString() == colname){
                    //ho trovato l'indice dalla colonna corrispondente
                   
                   indice_colonna_int = colIx;   
                    System.out.println("DEBUG: ho trovato l'indice della cella che è: " + indice_colonna_int);
                    /*OCCHIO AL RETURN*/
                    return indice_colonna_int;
                }
                }
                
            }
            /**
             * RETURN VALUE: RITORNA -1 SE NON HA TROVATO NULLA, ALTRIMENTI UN VALORE MAGGIORE
             * O UGUALE A 0
             */
            
            return indice_colonna_int;
        
        }//fine metodo
    Ultima modifica di Sara88; 29-01-2014 a 10:24

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.