Read Data from DB and write into Excel sheet using Apache POI
...
method to read data from the "resource_rbac_status" table and write into the excel sheet using apache POI HSSF API
...
public static HSSFWorkbook generateExcel(){
Connection dbconn = null;
HSSFWorkbook wb = null;
try{
dbconn = RmsDBUtil.getDBConnection(); /// get the connection
Statement stmt= dbconn.createStatement();;
ResultSet rs= stmt.executeQuery ("SELECT * FROM resource_rbac_status");
ResultSetMetaData rsmd = rs.getMetaData ();
int columnCount = rsmd.getColumnCount ();
wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("Excel Sheet");
HSSFRow rowhead = sheet.createRow((short) 0);
for (int j = 1; j <= columnCount; ++j) {
rowhead.createCell((short) ((short) j-1)).setCellValue(rsmd.getColumnLabel(j));
}
int index = 1;
while (rs.next()) {
HSSFRow row = sheet.createRow((short) index);
for (int j = 1; j <= columnCount; ++j){
String a=rsmd.getColumnTypeName(j);
if (a.equals("INTEGER")){
row.createCell((short) ((short) j-1)).setCellValue(rs.getInt(j));
} else {
row.createCell((short) ((short) j-1)).setCellValue(rs.getString(j));
}
}
index++;
}
System.out.println("Data is saved in excel file.Please check the excel file ");
//close the connection and statement
}
catch (Exception e) {
System.out.println(e);
}
finally{
// close the connection
}
return wb;
}
...
....
....
Showing posts with label HSSF. Show all posts
Showing posts with label HSSF. Show all posts
Tuesday, December 21, 2010
How to Read an Excel sheet using Apache POI HSSF
How to read an excel sheet using POI API(HSSF)
....
method to read the excel sheet and prepares the list(of Holiday DTOs) using apache POI API
.....
public static List parseHolidayExcel(String xlsPath) {
List holidayList = new ArrayList();
FileInputStream fis = null;
POIFSFileSystem fileSystem = null;
try {
fis = new FileInputStream(xlsPath);
fileSystem = new POIFSFileSystem(fis);
HSSFWorkbook workBook = new HSSFWorkbook(fileSystem);
HSSFSheet sheet = workBook.getSheetAt(0);
Iterator rows = sheet.rowIterator();
HolidayListDTO dto = null;
while (rows.hasNext()) {
HSSFRow row = rows.next();
if (row.getRowNum() == 0)
continue;
// System.out.println("Row no:"+row.getRowNum());
dto = new HolidayListDTO();
dto.setSiteStatus(row.getCell((short) 0).getStringCellValue());
dto.setCountry(row.getCell((short) 1).getStringCellValue());
dto.setLocation(row.getCell((short) 2).getStringCellValue());
dto.setHoliday_date((Date) (row.getCell((short) 3)
.getDateCellValue()));
dto.setDay(row.getCell((short) 4).getStringCellValue());
dto.setOccasion(row.getCell((short) 5).getStringCellValue());
holidayList.add(dto);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return holidayList;
}
To read an Excel sheet using POI API(HSSF) : Data Holder to hold details about the holidays....
import java.io.Serializable;
import java.util.Date;
public class HolidayListDTO implements Serializable{
public String siteStatus;
public String country;
public String location;
public Date holiday_date;
public String day;
public String occasion;
public String getSiteStatus() {
return siteStatus;
}
public void setSiteStatus(String siteStatus) {
this.siteStatus = siteStatus;
}
public String getCountry() {
return country;
}
public void setCountry(String country) {
this.country = country;
}
public String getLocation() {
return location;
}
public void setLocation(String location) {
this.location = location;
}
public Date getHoliday_date() {
return holiday_date;
}
public void setHoliday_date(Date holidayDate) {
holiday_date = holidayDate;
}
public String getDay() {
return day;
}
public void setDay(String day) {
this.day = day;
}
public String getOccasion() {
return occasion;
}
public void setOccasion(String occasion) {
this.occasion = occasion;
}
}
Sample Excel file(sheet) to be read by the above code using POI HSSF API....
SiteStatus country location date day occasion
offsite india chennai 10/12/2010 Monday Ramzan
onsite us new jersy 11/12/2010 Tuesday Rangoli
offsite india delhi 9/11/2010 Wednesday deepavali
....
method to read the excel sheet and prepares the list(of Holiday DTOs) using apache POI API
.....
public static List
List
FileInputStream fis = null;
POIFSFileSystem fileSystem = null;
try {
fis = new FileInputStream(xlsPath);
fileSystem = new POIFSFileSystem(fis);
HSSFWorkbook workBook = new HSSFWorkbook(fileSystem);
HSSFSheet sheet = workBook.getSheetAt(0);
Iterator
HolidayListDTO dto = null;
while (rows.hasNext()) {
HSSFRow row = rows.next();
if (row.getRowNum() == 0)
continue;
// System.out.println("Row no:"+row.getRowNum());
dto = new HolidayListDTO();
dto.setSiteStatus(row.getCell((short) 0).getStringCellValue());
dto.setCountry(row.getCell((short) 1).getStringCellValue());
dto.setLocation(row.getCell((short) 2).getStringCellValue());
dto.setHoliday_date((Date) (row.getCell((short) 3)
.getDateCellValue()));
dto.setDay(row.getCell((short) 4).getStringCellValue());
dto.setOccasion(row.getCell((short) 5).getStringCellValue());
holidayList.add(dto);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return holidayList;
}
To read an Excel sheet using POI API(HSSF) : Data Holder to hold details about the holidays....
import java.io.Serializable;
import java.util.Date;
public class HolidayListDTO implements Serializable{
public String siteStatus;
public String country;
public String location;
public Date holiday_date;
public String day;
public String occasion;
public String getSiteStatus() {
return siteStatus;
}
public void setSiteStatus(String siteStatus) {
this.siteStatus = siteStatus;
}
public String getCountry() {
return country;
}
public void setCountry(String country) {
this.country = country;
}
public String getLocation() {
return location;
}
public void setLocation(String location) {
this.location = location;
}
public Date getHoliday_date() {
return holiday_date;
}
public void setHoliday_date(Date holidayDate) {
holiday_date = holidayDate;
}
public String getDay() {
return day;
}
public void setDay(String day) {
this.day = day;
}
public String getOccasion() {
return occasion;
}
public void setOccasion(String occasion) {
this.occasion = occasion;
}
}
Sample Excel file(sheet) to be read by the above code using POI HSSF API....
SiteStatus country location date day occasion
offsite india chennai 10/12/2010 Monday Ramzan
onsite us new jersy 11/12/2010 Tuesday Rangoli
offsite india delhi 9/11/2010 Wednesday deepavali
Subscribe to:
Posts (Atom)