Package jturbojet.File

Source Code of jturbojet.File.XLSWrite

package jturbojet.File;

import java.io.File;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import jxl.*;
import jxl.write.Number;
import jxl.write.*;

public class XLSWrite {

    private final String data;
    private final String filepath;

    private WritableWorkbook workbook;

    public XLSWrite(String filepath, String data) {
        this.data = data;
        this.filepath = filepath;
        try {
            workbook = Workbook.createWorkbook(new File(filepath));
            buildXls(data);
        } catch (IOException ex) {
            Logger.getLogger(XLSWrite.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    private void buildXls(String data) {
        try {
            // Creates new sheet
            WritableSheet sheet = workbook.createSheet("Output", 0);
            Label rpml = new Label(0, 0, "RPM");
            sheet.addCell(rpml);
            Label etl = new Label(1, 0, "Exhaust Tempt");
            sheet.addCell(etl);
            Label otl = new Label(2, 0, "Oil Tempt");
            sheet.addCell(otl);

            String[] rows = data.split("\n");
            for (int i = 0; i < rows.length; i++) {
                String[] values = parseData(rows[i]);

                if (checkNumbers(values)) {
                    Number rpm = new Number(0, i + 1, Integer.parseInt(values[0]));
                    Number et = new Number(1, i + 1, Float.parseFloat(values[1]));
                    Number ot = new Number(2, i + 1, Float.parseFloat(values[2]));
                    sheet.addCell(rpm);
                    sheet.addCell(et);
                    sheet.addCell(ot);
                }
            }
        } catch (WriteException ex) {
            Logger.getLogger(XLSWrite.class.getName()).log(Level.SEVERE, null, ex);
        }

    }

    private boolean checkNumbers(String[] values) {
        try {
            Integer.parseInt(values[0]);
            Float.parseFloat(values[1]);
            Float.parseFloat(values[2]);
            return true;
        } catch (NumberFormatException e) {
            return false;
        }
    }

    private String[] parseData(String row) {
        String[] values = row.split("-");
        values[0] = values[0].substring(4).trim();
        values[1] = values[1].substring(4).trim();
        values[2] = values[2].substring(4).trim();

        return values;
    }

    public void saveToFile() {
        try {
            workbook.write();
            workbook.close();
        } catch (IOException ex) {
            Logger.getLogger(XLSWrite.class.getName()).log(Level.SEVERE, null, ex);
        } catch (WriteException ex) {
            Logger.getLogger(XLSWrite.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

}
TOP

Related Classes of jturbojet.File.XLSWrite

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.