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