Tuesday, February 4, 2014

Reding excel file








guyss this is the code for reading and sending the mail








package com.abhi;








import java.io.BufferedReader;







import java.io.FileInputStream;







import java.io.FileNotFoundException;







import java.io.FileReader;







import java.io.IOException;







import java.io.InputStreamReader;







import java.util.ArrayList;







import java.util.Collection;







import java.util.Collections;







import java.util.HashMap;







import java.util.List;







import java.util.Map;







import java.util.Properties;








import org.apache.poi.hssf.usermodel.HSSFCell;







import org.apache.poi.hssf.usermodel.HSSFRow;







import org.apache.poi.hssf.usermodel.HSSFSheet;







import org.apache.poi.hssf.usermodel.HSSFWorkbook;







import org.apache.poi.poifs.filesystem.POIFSFileSystem;








public class Main {








public static FileReader reader;








public static Properties properties = new Properties();







private static String password = "";








public static void main(String[] args)







{








String dataSourceType = "";







try {








reader = new FileReader("D:\\APNAKHATA\\CS\\Java\\Resource\\pro perties1.properties");







properties.load(reader);







dataSourceType = properties.getProperty("DataSource_Type");








int datasourceType = 0;








if(dataSourceType.equalsIgnoreCase("XLS")){







datasourceType = 1;







}








if(dataSourceType.equalsIgnoreCase("XML")){







datasourceType = 2;







}







if(dataSourceType.equalsIgnoreCase("ORACLE")){







datasourceType = 3;







}







if(dataSourceType.equalsIgnoreCase("MySQL")){







datasourceType = 4;







}








switch(datasourceType)







{







case 1: readFromXLS();







case 2: readFromXML();







case 3: readFromOracle();







case 4: readFromMySql();








}







}







catch (FileNotFoundException e) {







System.out.println("cannot find the file! exiting program!!");







System.exit(0);







} catch (IOException e) {







System.out.println("cannot read from the file! exiting program!!");







System.exit(0);







}








}








private static void readFromMySql() {







// TODO Auto-generated method stub








}








private static void readFromOracle() {







// TODO Auto-generated method stub








}








private static void readFromXML() {







// TODO Auto-generated method stub








}








private static void readFromXLS() {







String xls_file_path = "D:\\APNAKHATA\\CS\\Java\\Resource\\maildetail.xls ";







//xls_file_path = properties.getProperty("file_path");







try {







POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(xls_file_path));







HSSFWorkbook wb = new HSSFWorkbook(fs);







HSSFSheet sheet = wb.getSheetAt(0);







HSSFRow row;







HSSFCell cell;








//System.out.println("file:"+xls_file_path);







int rows; // No of rows








rows = sheet.getPhysicalNumberOfRows();







System.out.println("No. of rows:"+rows);








HashMap namesMap =new HashMap<>();







HashMap socnamesmap=new HashMap<>();







HashMap monthMap =new HashMap<>();







HashMap currencyMap =new HashMap<>();







HashMap billamntMap =new HashMap<>();







HashMap duedateMap =new HashMap<>();







HashMap emailMap =new HashMap<>();







HashMap OutputMap =new HashMap<>();








int cols = 0; // No of columns








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







row = sheet.getRow(r);







if(row != null) {







cols = sheet.getRow(r).getPhysicalNumberOfCells();







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







cell = row.getCell((short) c);







if(cell != null)







{







for (r = 0; r <=rows; r++)







{








if(cell.getCellType()== 1 || cell.getCellType()== 2)







{







if(c == 1)







namesMap.put(r, cell.getNumericCellValue());








if(c == 2)







socnamesmap.put(r, cell.getStringCellValue());








if(c == 3)







monthMap.put(r, cell.getStringCellValue());








if(c == 4)







currencyMap.put(r, cell.getStringCellValue());








if(c == 5)







billamntMap.put(r, cell.getStringCellValue());








if(c == 6)







duedateMap.put(r, cell.getNumericCellValue());








if(c == 7)







emailMap.put(r, cell.getNumericCellValue());








if(c == 8)







emailMap.put(r, cell.getStringCellValue());







}







if (cell.getCellType()==1 && c == 2 && c == 3 && c == 4 && c == 5 && c == 6 && c == 7 && c == 8)







{







OutputMap.put(r, cell.getNumericCellValue());







}







}







}







}







}








System.out.println("name:"+namesMap);







System.out.println("Society Name:"+socnamesmap);







System.out.println("Month:"+monthMap);







System.out.println("Currency:"+currencyMap);







System.out.println("Bill Amount:"+billamntMap);







System.out.println("Due Date:"+duedateMap);







System.out.println("Email-id:"+emailMap);







Collection OutputList = OutputMap.values();







List list = new ArrayList(OutputList);







// Collections.sort(list);







// Collections.reverse(list);







// System.out.println("ticketList:"+list);








Integer[] OutputArray = new Integer[list.size()];








for (int i = 0; i < list.size(); i++) {







OutputArray[i] = getKey(OutputMap, list.get(i));







}







// for (int i = 0; i < sortedArray.length; i++) {







// System.out.println(sortedArray[i]);







// }








//System.out.println("Sorted list:");







// for (int i = 0; i < sortedArray.length; i++) {







//System.out.println("Name:"+namesMap.get(sortedArra y[i]));







//System.out.println("No Of Tickets:"+ticketMap.get(sortedArray[i]));







//System.out.println("email:"+emailMap.get(sortedArr ay[i]));







//}








int totalNoOfMembers = OutputArray.length;







// if(OutputArray.length>10) totalNoOfValuedCustomers = 10;








// int i = OutputArray.length;







String password_text = properties.getProperty("password_text");







System.out.println(password_text);







BufferedReader bufferRead = new BufferedReader(new InputStreamReader(System.in));







password = bufferRead.readLine();








for (int i = 0; i < totalNoOfMembers; i++)







{







//SendMail.sendMailToMembers((String)emailMap.get(Ou tputArray[i]), (String)namesMap.get(OutputArray[i]),(String)socnamesmap.get(OutputArray[i]), (String)monthMap.get(OutputArray[i]) , (String)currencyMap.get(OutputArray[i]) ,(double)billamntMap.get(OutputArray[i]), (double)duedateMap.get(OutputArray[i]) ,password);







}







}







//}







// }







}







catch(Exception ioe) {







ioe.printStackTrace();







}







}








static Integer getKey(HashMap<Integer, String> map, Object value) {







Integer key = null;







for(Map.Entry<Integer, String> entry : map.entrySet()) {







if((value == null && entry.getValue() == null) || (value != null && value.equals(entry.getValue()))) {







key = entry.getKey();







break;







}







}







return key;







}







}








its showing error like..








BIFFVIEWER REQUIRES A FILENAME***







java.lang.NullPointerException







at java.io.FileInputStream.<init>(Unknown Source)







at java.io.FileInputStream.<init>(Unknown Source)







at org.apache.poi.hssf.dev.BiffViewer.run(BiffViewer. java:68)







at org.apache.poi.hssf.dev.BiffViewer.main(BiffViewer .java:649)















No comments:

Post a Comment