Home Answers Viewqa Java-Beginners How can i extract email ids from xls/xlsx file in java?

 
 


bhavik v chauhan
How can i extract email ids from xls/xlsx file in java?
0 Answer(s)      a year and 3 months ago
Posted in : Java Beginners

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 Pages:

Ask Questions?

If you are facing any programming issue, such as compilation errors or not able to find the code you are looking for.

Ask your questions, our development team will try to give answers to your questions.