The Apache POI  API is used to work with Excel files in java.  By using Apache POI you can easily read and write the Records and data to Excel files. Here the below code can used to read and write the data in Excel files.
import java.io.File;
import java.io.FileOutputStream;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class Writesheet 
{
   public static void WriteSheet()
   {
      //Create blank workbook
      XSSFWorkbook workbook = new XSSFWorkbook(); 
      //Create a blank sheet
      XSSFSheet spreadsheet = workbook.createSheet("Employee Details");
      //Create row object
      XSSFRow row;
      //This data needs to be written (Object[])
      Map < String, Object[] > empinfo = new TreeMap < String, Object[] >();
      empinfo.put( "1", new Object[] { "EMP ID", "EMP NAME", "DESIGNATION" });
      empinfo.put( "2", new Object[] { "101", "Mayank", "Technical Manager" });
      empinfo.put( "3", new Object[] { "102", "Manish", "Software Developer" });
      empinfo.put( "4", new Object[] { "103", "Namita", "Software Developer" });
      empinfo.put( "5", new Object[] { "104", "Akhilesh", "Database Administrator" });
      empinfo.put( "6", new Object[] { "105", "Neelam", "Associate" });
      //Iterate over data and write to sheet
      Set < String > keyid = empinfo.keySet();
      int rowid = 0;
      for (String key : keyid)
      {
         row = spreadsheet.createRow(rowid++);
         Object [] objectArr = empinfo.get(key);
         int cellid = 0;
         for (Object obj : objectArr)
         {
            Cell cell = row.createCell(cellid++);
            cell.setCellValue((String)obj);
         }
      }
      //Write the workbook in file system
      FileOutputStream out = new FileOutputStream( 
      new File("Writesheet.xlsx"));
      workbook.write(out);
      out.close();
   }
   public static void ReadSheet(File file)throws Exception
    {
        FileInputStream fis = new FileInputStream(file);
        XSSFWorkbook workbook = new XSSFWorkbook(fis);
        XSSFSheet spreadsheet = workbook.getSheetAt(0);
        XSSFRow row;
        Iterator < Row > rowIterator = spreadsheet.iterator();
        while (rowIterator.hasNext())
        {
        row = (XSSFRow) rowIterator.next();
        Iterator< Cell > cellIterator = row.cellIterator();
        while ( cellIterator.hasNext())
        {
            Cell cell = cellIterator.next();
            switch (cell.getCellType())
            {
                case Cell.CELL_TYPE_NUMERIC:
                System.out.print(cell.getNumericCellValue() + " \t\t " );
                break;
                case Cell.CELL_TYPE_STRING:
                System.out.print(cell.getStringCellValue() + " \t\t " );
                break;
            }
        }
        System.out.println();
        }
        fis.close();
    }
   public static void main(String[] args) throws Exception 
   {
      //To Write The Excel Sheet
      WriteSheet();
      //To Read the Excel Sheet
      ReadSheet(new File("WriteSheet.xlsx"));
   }
}
                       
                    
0 Comment(s)