How can i extract email ids from xls/xlsx file in java?

that's the code..... i tried to extract email id;s from xls file........... but it doesn;t gives the proper output?

table is like this: bhavik bhavikchauhan23@yahoo.com magan chagan@gmail.com

Output::: bhavikbhavikchauhan23@yahoo.commaganc hagan@gmail.com

please give me some hints to solve this program correctly..........

import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.Iterator; import java.util.Scanner; import java.util.Vector;

import java.util.regex.Pattern; 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 excelread123 {

File fout = new File("data1.txt");

    public static void main(String[] args) throws FileNotFoundException, IOException {

            String fileName = "bv1.xls";
            Vector dataHolder = ReadCSV(fileName);
            printCellDataToConsole(dataHolder);
    }

    public static Vector ReadCSV(String fileName) {

            Vector cellVectorHolder = new Vector();

            try {
                    FileInputStream myInput = new FileInputStream(fileName);

                    POIFSFileSystem myFileSystem = new POIFSFileSystem(myInput);

                    HSSFWorkbook myWorkBook = new HSSFWorkbook(myFileSystem);





                    HSSFSheet mySheet = myWorkBook.getSheetAt(0);

                    Iterator rowIter = mySheet.rowIterator();

                    while (rowIter.hasNext()) {
                            HSSFRow myRow = (HSSFRow) rowIter.next();
                            Iterator cellIter = myRow.cellIterator();
                            Vector cellStoreVector = new Vector();
                            while (cellIter.hasNext()) {
                                    HSSFCell myCell = (HSSFCell) cellIter.next();
                                    cellStoreVector.addElement(myCell);
                            }
                            cellVectorHolder.addElement(cellStoreVector);
                    }
            } catch (Exception e) {
                    e.printStackTrace();
            }
            return cellVectorHolder;
    }

    private static void printCellDataToConsole(Vector dataHolder) throws FileNotFoundException, IOException {

        int n,c;
        String str = null;
        Pattern p = Pattern.compile("([\\w+|\\.?]+)\\w+@([\\w+|\\.?]+)\\.(\\w{2,8}\\w?)");
        File fout = new File("data1.txt");
        FileOutputStream f = new FileOutputStream(fout);
            for (int i = 0; i < dataHolder.size(); i++) {
                    Vector cellStoreVector = (Vector) dataHolder.elementAt(i);
                    for (int j = 0; j < cellStoreVector.size(); j++) {
                            HSSFCell myCell = (HSSFCell) cellStoreVector.elementAt(j);
                            String stringCellValue = myCell.toString();
                            for(int k=0;k<stringCellValue.length();k++)
                            {
                                n = stringCellValue.charAt(k);
                                f.write(n);
                            }


                    }

            }
            FileInputStream fis1 = new FileInputStream(fout);

Scanner s = new Scanner(fout); while ( (str = s.findWithinHorizon(p, 0)) != null ) while((str = s.(p)) != null) { System.out.println(str); }

  fis1.close();
    }

}

View Answers









Related Tutorials/Questions & Answers:
Advertisements