Friday, November 6, 2015

Create HSSF WorkBook in Java

Let us create a new excel file and write data in it. Following is the API which we will use for this purpose.

Source :
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;

public static void createHSSFWorkBook() throws IOException,FileNotFoundException {
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = workbook.createSheet("Sheet1");

Map data = new HashMap();
data.put("1", new Object[] {"Emp No.", "Name", "Salary"}); //Adding Object[] array in each key object
data.put("2", new Object[] {1d, "John", 1500000d});
data.put("3", new Object[] {2d, "Sam", 800000d});
data.put("4", new Object[] {3d, "Dean", 700000d});

Set keyset = data.keySet();
int rownum = 0;
for (String key : keyset) {                               //Looping Keys in Map
   Row row = sheet.createRow(rownum++);
   Object [] objArr = data.get(key);
   int cellnum = 0;
   for (Object obj : objArr) {                          //Looping each Object[] array
       Cell cell = row.createCell(cellnum++);
       if(obj instanceof Date)
           cell.setCellValue((Date)obj);                  //Setting values
       else if(obj instanceof Boolean)
           cell.setCellValue((Boolean)obj);
       else if(obj instanceof String)
           cell.setCellValue((String)obj);
       else if(obj instanceof Double)
           cell.setCellValue((Double)obj);
   }
}
FileOutputStream out =
           new FileOutputStream(new File("new.xls"));
   workbook.write(out);
   out.close();
   System.out.println("Excel written successfully..");
}
public static void main(String[] args) throws IOException,FileNotFoundException {
createHSSFWorkBook();
}

By Jayakar.

No comments:

Post a Comment