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();
}
}