Senin, 28 Juni 2021

Java Code Read And Write Excell File

 Pasang Library dahulu yaa....



package xlsproject;



import org.apache.poi.openxml4j.exceptions.InvalidFormatException;

import org.apache.poi.ss.usermodel.*;


import java.io.File;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import java.util.Iterator;

import java.util.logging.Level;

import java.util.logging.Logger;

import org.apache.poi.EncryptedDocumentException;

import org.apache.poi.xssf.usermodel.XSSFWorkbook;



public class gabRW {

    String[][]AR;

    

    public static void main(String[] args) throws IOException, InvalidFormatException {

        

        gabRW x=new gabRW();

        x.baca();

        x.tulis();

    }

    

    

    void baca(){

        try {

            String myPath=System.getProperty("user.dir")+"/excell/NORM.xls";

            Workbook workbook = WorkbookFactory.create(new File(myPath));

            int jumsheet=workbook.getNumberOfSheets();

            

            Sheet sheet = workbook.getSheetAt(0);

            DataFormatter dataFormatter = new DataFormatter();


//int noOfColumns = sheet.getRow(0).getPhysicalNumberOfCells();

int kol = sheet.getRow(0).getLastCellNum();

int bar = sheet.getLastRowNum() +1;

AR=new String[bar][kol];


System.out.println("\n\nIterating over Rows and Columns using Iterator\n");

Iterator<Row> rowIterator = sheet.rowIterator();

int r=0;

while (rowIterator.hasNext()) {

    Row row = rowIterator.next();

    Iterator<Cell> cellIterator = row.cellIterator();

    int c=0;

    while (cellIterator.hasNext()) {

        Cell cell = cellIterator.next();

        String cellValue = dataFormatter.formatCellValue(cell);

        System.out.print(cellValue + "\t");

        AR[r][c]=cellValue;

        c++;

    }

    System.out.println();

    r++;

}


workbook.close();

        } catch (IOException ex) {

            Logger.getLogger(gabRW.class.getName()).log(Level.SEVERE, null, ex);

        } catch (InvalidFormatException ex) {

            Logger.getLogger(gabRW.class.getName()).log(Level.SEVERE, null, ex);

        } catch (EncryptedDocumentException ex) {

            Logger.getLogger(gabRW.class.getName()).log(Level.SEVERE, null, ex);

        }

    }


    private static void printCellValue(Cell cell) {

        switch (cell.getCellTypeEnum()) {

            case BOOLEAN:

                System.out.print(cell.getBooleanCellValue());

                break;

            case STRING:

                System.out.print(cell.getRichStringCellValue().getString());

                break;

            case NUMERIC:

                if (DateUtil.isCellDateFormatted(cell)) {

                    System.out.print(cell.getDateCellValue());

                } else {

                    System.out.print(cell.getNumericCellValue());

                }

                break;

            case FORMULA:

                System.out.print(cell.getCellFormula());

                break;

            case BLANK:

                System.out.print("");

                break;

            default:

                System.out.print("");

        }

        System.out.print("\t");

    }

    

    

    

    void tulis(){

        int c=AR[0].length;

        int r=AR.length;

        System.out.println(r+","+c);

        

        FileOutputStream fileOut = null;

        try {

            

            

            Workbook workbook = new XSSFWorkbook();

             CreationHelper createHelper = workbook.getCreationHelper();

             CellStyle POLA = workbook.createCellStyle();

             //dateCellStyle.setDataFormat(createHelper.createDataFormat().getFormat("dd-MM-yyyy"));

            POLA.setDataFormat(createHelper.createDataFormat().getFormat("#.###############"));

            

            Sheet sheet = workbook.createSheet("datalatih"); 

            int rowNum = 0;

          for(int i=0;i<r;i++){  

                Row row = sheet.createRow(rowNum++);

                for(int j=0;j<c;j++){  

                    String dataXLS=AR[i][j];

                    //System.out.println("data:"+i+","+j+"="+dataXLS);

                    if(i==0){

                    row.createCell(j).setCellValue(dataXLS);

                    }

                    else{

                    Cell myPos = row.createCell(j);

                    myPos.setCellValue(dataXLS);

                    myPos.setCellStyle(POLA);

                    }

                }

          }

            for(int i = 0; i < c; i++) {

                sheet.autoSizeColumn(i);

            }   

            

            

            String myPath=System.getProperty("user.dir")+"/excell/TESTTULIS.xls";

            fileOut = new FileOutputStream(myPath);

            try {

                workbook.write(fileOut);

            } catch (IOException ex) {

                Logger.getLogger(gabRW.class.getName()).log(Level.SEVERE, null, ex);

            }

            try {

                fileOut.close();

            } catch (IOException ex) {

                Logger.getLogger(gabRW.class.getName()).log(Level.SEVERE, null, ex);

            }

            try {

                workbook.close();

            } catch (IOException ex) {

                Logger.getLogger(gabRW.class.getName()).log(Level.SEVERE, null, ex);

            }

        } catch (FileNotFoundException ex) {

            Logger.getLogger(gabRW.class.getName()).log(Level.SEVERE, null, ex);

        } finally {

            try {

                fileOut.close();

            } catch (IOException ex) {

                Logger.getLogger(gabRW.class.getName()).log(Level.SEVERE, null, ex);

            }

        }

    }

}


Cukup satu file saja...




Download Latihan