Main2.java Source code

Java tutorial

Introduction

Here is the source code for Main2.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Iterator;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFDataFormat;
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.openxml4j.exceptions.InvalidFormatException;

import org.apache.poi.xssf.eventusermodel.XSSFReader;
import org.apache.poi.xssf.model.SharedStringsTable;
import org.apache.poi.xssf.usermodel.XSSFRichTextString;
import org.apache.poi.openxml4j.opc.OPCPackage;
import org.apache.poi.ss.usermodel.*;
import org.xml.sax.Attributes;
import org.xml.sax.ContentHandler;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import org.xml.sax.XMLReader;
import org.xml.sax.helpers.DefaultHandler;
import org.xml.sax.helpers.XMLReaderFactory;

/**
 *
 * @author scottnumamoto
 */
public class Main2 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) throws FileNotFoundException, IOException {

        HSSFWorkbook wb = new HSSFWorkbook(new FileInputStream("workbook2.xls"));
        HSSFSheet sheet = wb.getSheetAt(1);

        //Advanced Imaging of Port Charlotte 2625 Tamiami Trail, Unit 1 Port Charlotte, FL 33952 941-235-4646 
        for (int r = 0; r < 3815; r++) {
            HSSFRow row = sheet.getRow(r);
            if (row == null)
                continue;

            HSSFCell cell = row.getCell(0);
            if (cell == null)
                continue;

            String parse = cell.getStringCellValue().trim();

            if (parse.length() == 0)
                continue;

            //Check if the last character is a digit
            if (Character.isDigit(parse.charAt(parse.length() - 1)) || parse.charAt(parse.length() - 1) == ')') {
                int stop = parse.length() - 1;
                char stopChar = parse.charAt(stop);

                while (stopChar != ' ') {
                    stop--;

                    if (stop == -1)
                        break;

                    stopChar = parse.charAt(stop);
                }
                String number = parse.substring(stop + 1);

                //If it's a phone number
                if (number.length() > 11) {
                    //HSSFCell cellPhone = row.createCell(8);
                    //cellPhone.setCellValue(number);

                    //Now search for the zip
                    int stopZip = stop - 1;
                    char stopCharZip = parse.charAt(stopZip);

                    if (Character.isDigit(stopCharZip)) {
                        //Cycle through the string backwards until you find a space
                        while (stopCharZip != ' ') {
                            stopZip--;
                            if (stopZip == -1)
                                continue;
                            stopCharZip = parse.charAt(stopZip);
                        }

                        //Write down the zip in the correct spot
                        String zipNumber = parse.substring(stopZip + 1, stop);
                        HSSFCell cellZip = row.createCell(6);
                        cellZip.setCellValue(zipNumber);
                        System.out.println((cellZip == null) + " " + zipNumber);

                    }

                    String state = parse.substring(stopZip - 2, stopZip);
                    //HSSFCell cellState = row.createCell(6);
                    //cellState.setCellValue(state);
                }

            }

            //Find the string before the first dash
            int firstDash = parse.indexOf('-');

            if (firstDash != -1) {
                String preDash = parse.substring(0, firstDash).trim();
                boolean noDigits = true;

                for (int i = 0; i < 10; i++) {
                    if (preDash.contains(Integer.toString(i))) {
                        noDigits = false;
                    }
                }

                if (noDigits && preDash.contains(" ")) {
                    HSSFCell cellComp = row.createCell(2);
                    //cellComp.setCellValue(preDash);
                }

            } else {
                int stopNum = 0;
                char stopCharNum = parse.charAt(stopNum);

                while (stopNum < parse.length() - 1 && !Character.isDigit(stopCharNum)) {
                    stopNum++;
                    stopCharNum = parse.charAt(stopNum);
                }

                String possTitle = parse.substring(0, stopNum);

                if (!possTitle.contains(",") && possTitle.length() >= 8) {
                    HSSFCell cellComp = row.createCell(2);
                    //cellComp.setCellValue(possTitle);
                }
            }

        }

        FileOutputStream out = new FileOutputStream("okay3.xls");
        wb.write(out);
        out.close();

        //        2997
        //        for (int r = 2; r < 2997 ; r += 6)
        //        {
        //            HSSFCell cell1 = sheet.getRow(r).getCell(1);
        //            HSSFCell cell2 = sheet.getRow(r + 1).getCell(1);
        //            HSSFCell cell3 = sheet.getRow(r + 2).getCell(1);
        //            
        //            Contact c = new Contact(cell1, cell2, cell3);
        //            System.out.println(c);
        //            
        //            HSSFRow row = sheet.getRow(written);
        //            if (row == null)
        //                row = sheet.createRow(written);
        //            
        //            HSSFCell cellComp = row.createCell(4);
        //            cellComp.setCellValue(c.getCompany());
        //            
        //            HSSFCell cellAdd = row.createCell(5);
        //            cellAdd.setCellValue(c.getAddress());
        //            
        //            HSSFCell cellCity = row.createCell(6);
        //            cellCity.setCellValue(c.getCity());
        //            
        //            HSSFCell cellState = row.createCell(7);
        //            cellState.setCellValue(c.getState());
        //            
        //            HSSFCell cellZip = row.createCell(8);
        //            cellZip.setCellValue(c.getZip());
        //            
        //            HSSFCell cellPhone = row.createCell(9);
        //            cellPhone.setCellValue(c.getPhone());
        //            
        //            HSSFCell cellSite = row.createCell(10);
        //            cellSite.setCellValue(c.getSite());
        //            
        //            written++;
        //            
        //        }
        //        
        //        FileOutputStream out = new FileOutputStream("okay.xls");
        //        wb.write(out);
        //        out.close();

    }

}