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 [email protected] magan [email protected]
Output::: [email protected] [email protected]
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(); }
}
Ads