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