Example usage for org.apache.poi.ss.util CellRangeAddress CellRangeAddress

List of usage examples for org.apache.poi.ss.util CellRangeAddress CellRangeAddress

Introduction

In this page you can find the example usage for org.apache.poi.ss.util CellRangeAddress CellRangeAddress.

Prototype

public CellRangeAddress(int firstRow, int lastRow, int firstCol, int lastCol) 

Source Link

Document

Creates new cell range.

Usage

From source file:Servelt.ExcelWriter.java

public ExcelWriter(String pjname, String id) {
    logger = Logger.getLogger(ExcelWriter.class.getName());

    String cate = null;//from www . j a va 2s  . c  om
    Map<String, List<String>> map = new TreeMap<String, List<String>>();
    List<String> typ = new ArrayList<String>();
    List<String> des = new ArrayList<String>();

    Map<String, List<String[]>> emap = new TreeMap<String, List<String[]>>();
    String[] stra;

    try (Connection conn = DriverManager.getConnection(DB2url, DB2user, DB2password)) {
        Statement stm = conn.createStatement();

        ResultSet result = MySQLSyntax.getResultSet(stm, db2.project_Table.TABLE_NAME,
                db2.project_Table.ProjectName, pjname);
        if (result.next()) {
            cate = result.getString(db2.project_Table.Category);
        }

        result = MySQLSyntax.getResultSet(stm, db2.description_Table.TABLE_NAME,
                db2.description_Table.ProjectName, pjname);
        while (result.next()) {
            stra = new String[2];
            stra[0] = result.getString(db2.description_Table.Type);
            stra[1] = result.getString(db2.description_Table.Description);

            if (!emap.containsKey("Others")) {
                emap.put("Others", new ArrayList<String[]>());
            }
            emap.get("Others").add(stra);
        }

        ProjectResultMap(stm, map, pjname, Antennas.TableName, db2.project_antennas_Table.TABLE_NAME,
                Antennas.MainKey);
        ProjectResultMap(stm, map, pjname, Battery.TableName, db2.project_battery_Table.TABLE_NAME,
                Battery.MainKey);
        ProjectResultMap(stm, map, pjname, Button.TableName, db2.project_button_Table.TABLE_NAME,
                Button.MainKey);
        ProjectResultMap(stm, map, pjname, Camera.TableName, db2.project_camera_Table.TABLE_NAME,
                Camera.MainKey);
        ProjectResultMap(stm, map, pjname, CardReader.TableName, db2.project_card_reader_Table.TABLE_NAME,
                CardReader.MainKey);
        ProjectResultMap(stm, map, pjname, Charger.TableName, db2.project_charger_Table.TABLE_NAME,
                Charger.MainKey);
        ProjectResultMap(stm, map, pjname, ClickPad.TableName, db2.project_click_pad_Table.TABLE_NAME,
                ClickPad.MainKey);
        ProjectResultMap(stm, map, pjname, CPU.TableName, db2.project_cpu_Table.TABLE_NAME, CPU.MainKey);
        ProjectResultMap(stm, map, pjname, Ethernet.TableName, db2.project_ethernet_Table.TABLE_NAME,
                Ethernet.MainKey);
        ProjectResultMap(stm, map, pjname, KBCEBC.TableName, db2.project_kbc_ebc_Table.TABLE_NAME,
                KBCEBC.MainKey);
        ProjectResultMap(stm, map, pjname, Keyboard.TableName, db2.project_keyboard_Table.TABLE_NAME,
                Keyboard.MainKey);
        ProjectResultMap(stm, map, pjname, LcdPanel.TableName, db2.project_lcd_panel_Table.TABLE_NAME,
                LcdPanel.MainKey);
        ProjectResultMap(stm, map, pjname, Measurement.TableName, db2.project_measurement_Table.TABLE_NAME,
                Measurement.MainKey);
        ProjectResultMap(stm, map, pjname, Memory.TableName, db2.project_memory_Table.TABLE_NAME,
                Memory.MainKey);
        ProjectResultMap(stm, map, pjname, Sensor.TableName, db2.project_sensor_Table.TABLE_NAME,
                Sensor.MainKey);
        ProjectResultMap(stm, map, pjname, Storage.TableName, db2.project_storage_Table.TABLE_NAME,
                Storage.MainKey);
        ProjectResultMap(stm, map, pjname, TouchPanel.TableName, db2.project_touch_panel_Table.TABLE_NAME,
                TouchPanel.MainKey);
        ProjectResultMap(stm, map, pjname, WLAN.TableName, db2.project_wlan_Table.TABLE_NAME, WLAN.MainKey);
        ProjectResultMap(stm, map, pjname, WWAN.TableName, db2.project_wwan_Table.TABLE_NAME, WWAN.MainKey);
        ProjectResultMap(stm, map, pjname, Graphic.TableName, db2.project_graphic_Table.TABLE_NAME,
                Graphic.MainKey);
        ProjectResultMap(stm, map, pjname, AudioCodec.TableName, db2.project_audio_codec_Table.TABLE_NAME,
                AudioCodec.MainKey);
        ProjectResultMap(stm, map, pjname, PanelInterfaceBridge.TableName,
                db2.project_panel_interface_bridge_Table.TABLE_NAME, PanelInterfaceBridge.MainKey);
        ProjectResultMap(stm, map, pjname, ExternalStorageCard.TableName,
                db2.project_external_storage_card_Table.TABLE_NAME, ExternalStorageCard.MainKey);
        ProjectResultMap(stm, map, pjname, ODD.TableName, db2.project_odd_Table.TABLE_NAME, ODD.MainKey);
        ProjectResultMap(stm, map, pjname, Speaker.TableName, db2.project_speaker_Table.TABLE_NAME,
                Speaker.MainKey);
        ProjectResultMap(stm, map, pjname, Mic.TableName, db2.project_mic_Table.TABLE_NAME, Mic.MainKey);
        ProjectResultMap(stm, map, pjname, IoPort.TableName, db2.project_io_port_Table.TABLE_NAME,
                IoPort.MainKey);
        ProjectResultMap(stm, map, pjname, OS.TableName, db2.project_os_Table.TABLE_NAME, OS.MainKey);

    } catch (SQLException ex) {
        logger.log(Level.WARNING, "In SQLException (getSearchProjectResultPage) : " + ex.toString());
        ex.printStackTrace();
    }

    List<String[]> list;
    String str;

    try (Connection conn = DriverManager.getConnection(DBurl, DBuser, DBpassword)) {
        Statement stm = conn.createStatement();
        ResultSet result = null;

        for (Entry<String, List<String>> entry : map.entrySet()) {

            switch (entry.getKey()) {

            case db.antennas_Table.TABLE_NAME: {
                for (String s : entry.getValue()) {
                    result = MySQLSyntax.getResultSet(stm, db.antennas_Table.TABLE_NAME, Antennas.MainKey, s);
                    if (result.next()) {
                        stra = new String[2];
                        stra[0] = result.getString(db.antennas_Table.Type);
                        stra[1] = result.getString(db.antennas_Table.Description);
                        if (!emap.containsKey("Antenna"))
                            emap.put("Antenna", new ArrayList<String[]>());

                        emap.get("Antenna").add(stra);
                    }
                }
                break;
            }

            case db.audio_codec_Table.TABLE_NAME: {
                for (String s : entry.getValue()) {
                    result = MySQLSyntax.getResultSet(stm, db.audio_codec_Table.TABLE_NAME, AudioCodec.MainKey,
                            s);
                    if (result.next()) {
                        stra = new String[2];
                        stra[0] = result.getString(db.audio_codec_Table.Vendor);
                        stra[1] = result.getString(db.audio_codec_Table.Model) + "\n"
                                + result.getString(db.audio_codec_Table.Description);
                        if (!emap.containsKey("Audio Codec"))
                            emap.put("Audio Codec", new ArrayList<String[]>());

                        emap.get("Audio Codec").add(stra);
                    }
                }
                break;
            }

            case db.battery_Table.TABLE_NAME: {
                for (String s : entry.getValue()) {
                    result = MySQLSyntax.getResultSet(stm, db.battery_Table.TABLE_NAME, Battery.MainKey, s);
                    if (result.next()) {
                        stra = new String[2];
                        stra[0] = result.getString(db.battery_Table.Vendor);
                        stra[1] = result.getString(db.battery_Table.ModelName) + " "
                                + result.getString(db.battery_Table.Capacity) + " "
                                + result.getString(db.battery_Table.Cell) + "\n"
                                + result.getString(db.battery_Table.Description);
                        if (!emap.containsKey("Battery Pack"))
                            emap.put("Battery Pack", new ArrayList<String[]>());

                        emap.get("Battery Pack").add(stra);
                    }
                }
                break;
            }

            case db.button_Table.TABLE_NAME: {
                for (String s : entry.getValue()) {
                    result = MySQLSyntax.getResultSet(stm, db.button_Table.TABLE_NAME, Button.MainKey, s);
                    if (result.next()) {
                        stra = new String[2];
                        stra[0] = result.getString(db.button_Table.Type);
                        stra[0] = result.getString(db.button_Table.Description);
                        if (!emap.containsKey("Button"))
                            emap.put("Button", new ArrayList<String[]>());

                        emap.get("Button").add(stra);
                    }
                }
                break;
            }

            case db.camera_Table.TABLE_NAME: {
                for (String s : entry.getValue()) {
                    result = MySQLSyntax.getResultSet(stm, db.camera_Table.TABLE_NAME, Camera.MainKey, s);
                    if (result.next()) {
                        stra = new String[2];
                        stra[0] = result.getString(db.camera_Table.Vendor);
                        stra[1] = result.getString(db.camera_Table.Model) + " "
                                + result.getString(db.camera_Table.Sensor_IC) + " "
                                + result.getString(db.camera_Table.Pixel_Mega) + " "
                                + result.getString(db.camera_Table.AF_FF) + " "
                                + result.getString(db.camera_Table.Lens) + "\n"
                                + result.getString(db.camera_Table.Description);
                        if (!emap.containsKey("Web CAM"))
                            emap.put("Web CAM", new ArrayList<String[]>());

                        emap.get("Web CAM").add(stra);
                    }
                }
                break;
            }

            case db.card_reader_Table.TABLE_NAME: {
                for (String s : entry.getValue()) {
                    result = MySQLSyntax.getResultSet(stm, db.card_reader_Table.TABLE_NAME, CardReader.MainKey,
                            s);
                    if (result.next()) {
                        stra = new String[2];
                        stra[0] = result.getString(db.card_reader_Table.Vendor);
                        stra[1] = result.getString(db.card_reader_Table.Model) + "\n"
                                + result.getString(db.card_reader_Table.Description);
                        if (!emap.containsKey("Card reader"))
                            emap.put("Card reader", new ArrayList<String[]>());

                        emap.get("Card reader").add(stra);
                    }
                }
                break;
            }

            case db.charger_Table.TABLE_NAME: {
                for (String s : entry.getValue()) {
                    result = MySQLSyntax.getResultSet(stm, db.charger_Table.TABLE_NAME, Charger.MainKey, s);
                    if (result.next()) {
                        stra = new String[2];
                        stra[0] = result.getString(db.charger_Table.Vendor);
                        stra[1] = result.getString(db.charger_Table.ModelName) + " "
                                + result.getString(db.charger_Table.Type) + " "
                                + result.getString(db.charger_Table.OUTPUT) + " "
                                + result.getString(db.charger_Table.INPUT) + "\n"
                                + result.getString(db.charger_Table.Description);
                        if (!emap.containsKey("Adaptor"))
                            emap.put("Adaptor", new ArrayList<String[]>());

                        emap.get("Adaptor").add(stra);
                    }
                }
                break;
            }

            case db.click_pad_Table.TABLE_NAME: {
                for (String s : entry.getValue()) {
                    result = MySQLSyntax.getResultSet(stm, db.click_pad_Table.TABLE_NAME, ClickPad.MainKey, s);
                    if (result.next()) {
                        stra = new String[2];
                        stra[0] = result.getString(db.click_pad_Table.Vendor);
                        stra[1] = result.getString(db.click_pad_Table.ModelName) + "\n"
                                + result.getString(db.click_pad_Table.Description);
                        if (!emap.containsKey("Pointing Device"))
                            emap.put("Pointing Device", new ArrayList<String[]>());

                        emap.get("Pointing Device").add(stra);
                    }
                }
                break;
            }

            case db.cpu_Table.TABLE_NAME: {
                for (String s : entry.getValue()) {
                    result = MySQLSyntax.getResultSet(stm, db.cpu_Table.TABLE_NAME, CPU.MainKey, s);
                    if (result.next()) {
                        stra = new String[2];
                        stra[0] = result.getString(db.cpu_Table.Vendor) + "/"
                                + result.getString(db.cpu_Table.CodeName);
                        stra[1] = result.getString(db.cpu_Table.ModelName) + " "
                                + result.getString(db.cpu_Table.MaxCoreFreq) + " "
                                + result.getString(db.cpu_Table.CoreThreats) + " "
                                + result.getString(db.cpu_Table.Gfx) + " " + result.getString(db.cpu_Table.TDP);
                        if (!emap.containsKey("CPU/SoC"))
                            emap.put("CPU/SoC", new ArrayList<String[]>());

                        emap.get("CPU/SoC").add(stra);
                    }
                }
                break;
            }

            case db.ethernet_Table.TABLE_NAME: {
                for (String s : entry.getValue()) {
                    result = MySQLSyntax.getResultSet(stm, db.ethernet_Table.TABLE_NAME, Ethernet.MainKey, s);
                    if (result.next()) {
                        stra = new String[2];
                        stra[0] = result.getString(db.ethernet_Table.Vendor);
                        stra[1] = result.getString(db.ethernet_Table.ModelName) + "\n"
                                + result.getString(db.ethernet_Table.Description);
                        if (!emap.containsKey("LAN Controller"))
                            emap.put("LAN Controller", new ArrayList<String[]>());

                        emap.get("LAN Controller").add(stra);
                    }
                }
                break;
            }

            case db.external_storage_Table.TABLE_NAME: {
                for (String s : entry.getValue()) {
                    result = MySQLSyntax.getResultSet(stm, db.external_storage_Table.TABLE_NAME,
                            ExternalStorageCard.MainKey, s);
                    if (result.next()) {
                        stra = new String[2];
                        stra[0] = result.getString(db.external_storage_Table.Vendor);
                        stra[1] = result.getString(db.external_storage_Table.Type) + " "
                                + result.getString(db.external_storage_Table.Model) + " "
                                + result.getString(db.external_storage_Table.Dimension) + " "
                                + result.getString(db.external_storage_Table.Interface) + " "
                                + result.getString(db.external_storage_Table.Speed) + " "
                                + result.getString(db.external_storage_Table.Capacity);
                        if (!emap.containsKey("Extra storage card"))
                            emap.put("Extra storage card", new ArrayList<String[]>());

                        emap.get("Extra storage card").add(stra);
                    }
                }
                break;
            }

            case db.graphic_Table.TABLE_NAME: {
                for (String s : entry.getValue()) {
                    result = MySQLSyntax.getResultSet(stm, db.graphic_Table.TABLE_NAME, Graphic.MainKey, s);
                    if (result.next()) {
                        stra = new String[2];
                        stra[0] = result.getString(db.graphic_Table.Vendor);
                        stra[1] = result.getString(db.graphic_Table.ModelName) + " "
                                + result.getString(db.graphic_Table.MemoryType) + " "
                                + result.getString(db.graphic_Table.vRAM_size) + "\n"
                                + result.getString(db.graphic_Table.Description);
                        if (!emap.containsKey("Graphic"))
                            emap.put("Graphic", new ArrayList<String[]>());

                        emap.get("Graphic").add(stra);
                    }
                }
                break;
            }

            case db.io_port_Table.TABLE_NAME: {
                for (String s : entry.getValue()) {
                    result = MySQLSyntax.getResultSet(stm, db.io_port_Table.TABLE_NAME, IoPort.MainKey, s);
                    if (result.next()) {
                        stra = new String[2];
                        stra[0] = "";
                        stra[1] = result.getString(db.io_port_Table.Standard) + " "
                                + result.getString(db.io_port_Table.ConnectorType) + "\n"
                                + result.getString(db.io_port_Table.Description);
                        if (!emap.containsKey("I/O Port"))
                            emap.put("I/O Port", new ArrayList<String[]>());

                        emap.get("I/O Port").add(stra);
                    }
                }
                break;
            }

            case db.kbc_ebc_Table.TABLE_NAME: {
                for (String s : entry.getValue()) {
                    result = MySQLSyntax.getResultSet(stm, db.kbc_ebc_Table.TABLE_NAME, KBCEBC.MainKey, s);
                    if (result.next()) {
                        stra = new String[2];
                        stra[0] = result.getString(db.kbc_ebc_Table.Vendor);
                        stra[1] = result.getString(db.kbc_ebc_Table.Model) + "\n"
                                + result.getString(db.kbc_ebc_Table.Description);
                        if (!emap.containsKey("KBC/EBC"))
                            emap.put("KBC/EBC", new ArrayList<String[]>());

                        emap.get("KBC/EBC").add(stra);
                    }
                }
                break;
            }

            case db.keyboard_Table.TABLE_NAME: {
                for (String s : entry.getValue()) {
                    result = MySQLSyntax.getResultSet(stm, db.keyboard_Table.TABLE_NAME, Keyboard.MainKey, s);
                    if (result.next()) {
                        stra = new String[2];
                        stra[0] = result.getString(db.keyboard_Table.Vendor);
                        stra[1] = result.getString(db.keyboard_Table.ModelName) + " "
                                + result.getString(db.keyboard_Table.Type) + " "
                                + result.getString(db.keyboard_Table.OS) + " "
                                + result.getString(db.keyboard_Table.Layout) + "\n"
                                + result.getString(db.keyboard_Table.Description);
                        if (!emap.containsKey("Keyboard"))
                            emap.put("Keyboard", new ArrayList<String[]>());

                        emap.get("Keyboard").add(stra);
                    }
                }
                break;
            }

            case db.lcd_panel_Table.TABLE_NAME: {
                for (String s : entry.getValue()) {
                    result = MySQLSyntax.getResultSet(stm, db.lcd_panel_Table.TABLE_NAME, LcdPanel.MainKey, s);
                    if (result.next()) {
                        stra = new String[2];
                        stra[0] = result.getString(db.lcd_panel_Table.Vendor);
                        stra[1] = result.getString(db.lcd_panel_Table.ModelName) + " "
                                + result.getString(db.lcd_panel_Table.Size) + " "
                                + result.getString(db.lcd_panel_Table.Resolution) + " "
                                + result.getString(db.lcd_panel_Table.Type) + " "
                                + result.getString(db.lcd_panel_Table.Nits) + " "
                                + result.getString(db.lcd_panel_Table.Touch) + " "
                                + result.getString(db.lcd_panel_Table.Interface);
                        if (!emap.containsKey("LCD"))
                            emap.put("LCD", new ArrayList<String[]>());

                        emap.get("LCD").add(stra);
                    }
                }
                break;
            }

            case db.measurement_Table.TABLE_NAME: {
                for (String s : entry.getValue()) {
                    result = MySQLSyntax.getResultSet(stm, db.measurement_Table.TABLE_NAME, Measurement.MainKey,
                            s);
                    if (result.next()) {
                        stra = new String[2];
                        stra[0] = result.getString(db.measurement_Table.Type);
                        stra[1] = result.getString(db.measurement_Table.Dimension) + " "
                                + result.getString(db.measurement_Table.Weight);
                        if (!emap.containsKey("Physical Outline"))
                            emap.put("Physical Outline", new ArrayList<String[]>());

                        emap.get("Physical Outline").add(stra);
                    }
                }
                break;
            }

            case db.memory_Table.TABLE_NAME: {
                for (String s : entry.getValue()) {
                    result = MySQLSyntax.getResultSet(stm, db.memory_Table.TABLE_NAME, Memory.MainKey, s);
                    if (result.next()) {
                        stra = new String[2];
                        stra[0] = result.getString(db.memory_Table.Vendor);
                        stra[1] = result.getString(db.memory_Table.Type) + " "
                                + result.getString(db.memory_Table.Frequency) + " "
                                + result.getString(db.memory_Table.Capacity) + "\n"
                                + result.getString(db.memory_Table.Description);
                        if (!emap.containsKey("Memory"))
                            emap.put("Memory", new ArrayList<String[]>());

                        emap.get("Memory").add(stra);
                    }
                }
                break;
            }

            case db.mic_Table.TABLE_NAME: {
                for (String s : entry.getValue()) {
                    result = MySQLSyntax.getResultSet(stm, db.mic_Table.TABLE_NAME, Mic.MainKey, s);
                    if (result.next()) {
                        stra = new String[2];
                        stra[0] = "Mic";
                        stra[1] = result.getString(db.mic_Table.ModelName) + "\n"
                                + result.getString(db.mic_Table.Description);
                        if (!emap.containsKey("Audio"))
                            emap.put("Audio", new ArrayList<String[]>());

                        emap.get("Audio").add(stra);
                    }
                }
                break;
            }

            case db.speaker_Table.TABLE_NAME: {
                for (String s : entry.getValue()) {
                    result = MySQLSyntax.getResultSet(stm, db.speaker_Table.TABLE_NAME, Speaker.MainKey, s);
                    if (result.next()) {
                        stra = new String[2];
                        stra[0] = "Speaker";
                        stra[1] = result.getString(db.speaker_Table.ModelName) + "\n"
                                + result.getString(db.mic_Table.Description);
                        if (!emap.containsKey("Audio"))
                            emap.put("Audio", new ArrayList<String[]>());

                        emap.get("Audio").add(stra);
                    }
                }
                break;
            }

            case db.odd_Table.TABLE_NAME: {
                for (String s : entry.getValue()) {
                    result = MySQLSyntax.getResultSet(stm, db.odd_Table.TABLE_NAME, ODD.MainKey, s);
                    if (result.next()) {
                        stra = new String[2];
                        stra[0] = result.getString(db.odd_Table.Vendor);
                        stra[1] = result.getString(db.odd_Table.Model) + " "
                                + result.getString(db.odd_Table.Interface) + " "
                                + result.getString(db.odd_Table.zHigh) + "\n"
                                + result.getString(db.odd_Table.Description);
                        if (!emap.containsKey("ODD"))
                            emap.put("ODD", new ArrayList<String[]>());

                        emap.get("ODD").add(stra);
                    }
                }
                break;
            }

            case db.os_Table.TABLE_NAME: {
                for (String s : entry.getValue()) {
                    result = MySQLSyntax.getResultSet(stm, db.os_Table.TABLE_NAME, OS.MainKey, s);
                    if (result.next()) {
                        stra = new String[2];
                        stra[0] = result.getString(db.os_Table.Type);
                        stra[1] = result.getString(db.os_Table.Description);
                        if (!emap.containsKey("OS"))
                            emap.put("OS", new ArrayList<String[]>());

                        emap.get("OS").add(stra);
                    }
                }
                break;
            }

            case db.panel_interface_bridge_Table.TABLE_NAME: {
                for (String s : entry.getValue()) {
                    result = MySQLSyntax.getResultSet(stm, db.panel_interface_bridge_Table.TABLE_NAME,
                            PanelInterfaceBridge.MainKey, s);
                    if (result.next()) {
                        stra = new String[2];
                        stra[0] = result.getString(db.panel_interface_bridge_Table.Vendor);
                        stra[1] = result.getString(db.panel_interface_bridge_Table.ModelName) + "\n"
                                + result.getString(db.panel_interface_bridge_Table.Description);
                        if (!emap.containsKey("Bridge IC"))
                            emap.put("Bridge IC", new ArrayList<String[]>());

                        emap.get("Bridge IC").add(stra);
                    }
                }
                break;
            }

            case db.sensor_Table.TABLE_NAME: {
                for (String s : entry.getValue()) {
                    result = MySQLSyntax.getResultSet(stm, db.sensor_Table.TABLE_NAME, Sensor.MainKey, s);
                    if (result.next()) {
                        stra = new String[2];
                        stra[0] = result.getString(db.sensor_Table.Type);
                        stra[1] = result.getString(db.sensor_Table.Vendor) + " "
                                + result.getString(db.sensor_Table.ModelName) + "\n"
                                + result.getString(db.sensor_Table.Description);
                        if (!emap.containsKey("Sensor"))
                            emap.put("Sensor", new ArrayList<String[]>());

                        emap.get("Sensor").add(stra);
                    }
                }
                break;
            }

            case db.storage_Table.TABLE_NAME: {
                for (String s : entry.getValue()) {
                    result = MySQLSyntax.getResultSet(stm, db.storage_Table.TABLE_NAME, Storage.MainKey, s);
                    if (result.next()) {
                        stra = new String[2];
                        stra[0] = result.getString(db.storage_Table.Vendor);
                        stra[1] = result.getString(db.storage_Table.Type) + " "
                                + result.getString(db.storage_Table.Model) + " "
                                + result.getString(db.storage_Table.Capacity) + " "
                                + result.getString(db.storage_Table.Interface) + " "
                                + result.getString(db.storage_Table.zHight) + " "
                                + result.getString(db.storage_Table.Rpm) + " "
                                + result.getString(db.storage_Table.Speed);
                        if (!emap.containsKey("Storage"))
                            emap.put("Storage", new ArrayList<String[]>());

                        emap.get("Storage").add(stra);
                    }
                }
                break;
            }

            case db.touch_panel_Table.TABLE_NAME: {
                for (String s : entry.getValue()) {
                    result = MySQLSyntax.getResultSet(stm, db.touch_panel_Table.TABLE_NAME, TouchPanel.MainKey,
                            s);
                    if (result.next()) {
                        stra = new String[2];
                        stra[0] = result.getString(db.touch_panel_Table.Vendor);
                        stra[1] = result.getString(db.touch_panel_Table.ModelName) + " "
                                + result.getString(db.touch_panel_Table.IC) + " "
                                + result.getString(db.touch_panel_Table.Type) + " "
                                + result.getString(db.touch_panel_Table.Multi_Touch) + " "
                                + result.getString(db.touch_panel_Table.Stylus);
                        if (!emap.containsKey("Touch solution"))
                            emap.put("Touch solution", new ArrayList<String[]>());

                        emap.get("Touch solution").add(stra);
                    }
                }
                break;
            }

            case db.wlan_Table.TABLE_NAME: {
                for (String s : entry.getValue()) {
                    result = MySQLSyntax.getResultSet(stm, db.wlan_Table.TABLE_NAME, WLAN.MainKey, s);
                    if (result.next()) {
                        stra = new String[2];
                        stra[0] = result.getString(db.wlan_Table.Vendor);
                        stra[1] = result.getString(db.wlan_Table.ModelName) + " "
                                + result.getString(db.wlan_Table.Protocal) + " "
                                + result.getString(db.wlan_Table.nTnR) + " "
                                + result.getString(db.wlan_Table.Band) + " "
                                + result.getString(db.wlan_Table.Bluetooth) + " "
                                + result.getString(db.wlan_Table.Max_Speed);
                        if (!emap.containsKey("Wireless LAN and Bluetooth Combo"))
                            emap.put("Wireless LAN and Bluetooth Combo", new ArrayList<String[]>());

                        emap.get("Wireless LAN and Bluetooth Combo").add(stra);
                    }
                }
                break;
            }

            case db.wwan_Table.TABLE_NAME: {
                for (String s : entry.getValue()) {
                    result = MySQLSyntax.getResultSet(stm, db.wwan_Table.TABLE_NAME, WWAN.MainKey, s);
                    if (result.next()) {
                        stra = new String[2];
                        stra[0] = result.getString(db.wwan_Table.Vendor);
                        stra[1] = result.getString(db.wwan_Table.ModelName) + " "
                                + result.getString(db.wwan_Table.Type) + "\n"
                                + result.getString(db.wwan_Table.Description);
                        if (!emap.containsKey("WWAN"))
                            emap.put("WWAN", new ArrayList<String[]>());

                        emap.get("WWAN").add(stra);
                    }
                }
                break;
            }
            }
        }
    } catch (SQLException ex) {
        logger.log(Level.WARNING, "In SQLException (ExcelWriter) : " + ex.toString());
        ex.printStackTrace();
    }

    try {
        workbook = new XSSFWorkbook(new File(filepath + template));

        XSSFSheet sheet = workbook.getSheetAt(0);
        XSSFRow row;
        XSSFCell cell;

        int y, k;

        y = 45;

        List<Entry<String, List<String[]>>> elist = new ArrayList<Entry<String, List<String[]>>>();

        if (emap.containsKey("CPU/SoC"))
            elist.add(new SimpleEntry<String, List<String[]>>("CPU/SoC", emap.get("CPU/SoC")));
        if (emap.containsKey("Graphic"))
            elist.add(new SimpleEntry<String, List<String[]>>("Graphic", emap.get("Graphic")));
        if (emap.containsKey("Memory"))
            elist.add(new SimpleEntry<String, List<String[]>>("Memory", emap.get("Memory")));
        if (emap.containsKey("Audio Codec"))
            elist.add(new SimpleEntry<String, List<String[]>>("Audio Codec", emap.get("Audio Codec")));
        if (emap.containsKey("KBC/EBC"))
            elist.add(new SimpleEntry<String, List<String[]>>("KBC/EBC", emap.get("KBC/EBC")));
        if (emap.containsKey("LAN Controller"))
            elist.add(new SimpleEntry<String, List<String[]>>("LAN Controller", emap.get("LAN Controller")));
        if (emap.containsKey("Wireless LAN and Bluetooth Combo"))
            elist.add(new SimpleEntry<String, List<String[]>>("Wireless LAN and Bluetooth Combo",
                    emap.get("Wireless LAN and Bluetooth Combo")));
        if (emap.containsKey("WWAN"))
            elist.add(new SimpleEntry<String, List<String[]>>("WWAN", emap.get("WWAN")));
        if (emap.containsKey("Antenna"))
            elist.add(new SimpleEntry<String, List<String[]>>("Antenna", emap.get("Antenna")));
        if (emap.containsKey("Pointing Device"))
            elist.add(new SimpleEntry<String, List<String[]>>("Pointing Device", emap.get("Pointing Device")));
        if (emap.containsKey("LCD"))
            elist.add(new SimpleEntry<String, List<String[]>>("LCD", emap.get("LCD")));
        if (emap.containsKey("Touch solution"))
            elist.add(new SimpleEntry<String, List<String[]>>("Touch solution", emap.get("Touch solution")));
        if (emap.containsKey("Bridge IC"))
            elist.add(new SimpleEntry<String, List<String[]>>("Bridge IC", emap.get("Bridge IC")));
        if (emap.containsKey("Storage"))
            elist.add(new SimpleEntry<String, List<String[]>>("Storage", emap.get("Storage")));
        if (emap.containsKey("Extra storage card"))
            elist.add(new SimpleEntry<String, List<String[]>>("Extra storage card",
                    emap.get("Extra storage card")));
        if (emap.containsKey("ODD"))
            elist.add(new SimpleEntry<String, List<String[]>>("ODD", emap.get("ODD")));
        if (emap.containsKey("Card reader"))
            elist.add(new SimpleEntry<String, List<String[]>>("Card reader", emap.get("Card reader")));
        if (emap.containsKey("Audio"))
            elist.add(new SimpleEntry<String, List<String[]>>("Audio", emap.get("Audio")));
        if (emap.containsKey("Web CAM"))
            elist.add(new SimpleEntry<String, List<String[]>>("Web CAM", emap.get("Web CAM")));
        if (emap.containsKey("Sensor"))
            elist.add(new SimpleEntry<String, List<String[]>>("Sensor", emap.get("Sensor")));
        if (emap.containsKey("Battery Pack"))
            elist.add(new SimpleEntry<String, List<String[]>>("Battery Pack", emap.get("Battery Pack")));
        if (emap.containsKey("Adaptor"))
            elist.add(new SimpleEntry<String, List<String[]>>("Adaptor", emap.get("Adaptor")));
        if (emap.containsKey("I/O Port"))
            elist.add(new SimpleEntry<String, List<String[]>>("I/O Port", emap.get("I/O Port")));
        if (emap.containsKey("Keyboard"))
            elist.add(new SimpleEntry<String, List<String[]>>("Keyboard", emap.get("Keyboard")));
        if (emap.containsKey("Button"))
            elist.add(new SimpleEntry<String, List<String[]>>("Button", emap.get("Button")));
        if (emap.containsKey("OS"))
            elist.add(new SimpleEntry<String, List<String[]>>("OS", emap.get("OS")));
        if (emap.containsKey("Physical Outline"))
            elist.add(
                    new SimpleEntry<String, List<String[]>>("Physical Outline", emap.get("Physical Outline")));
        if (emap.containsKey("Others"))
            elist.add(new SimpleEntry<String, List<String[]>>("Others", emap.get("Others")));

        for (Entry<String, List<String[]>> entry : elist) {
            for (int i = 0; i < entry.getValue().size(); i++) {
                sheet.createRow(y + i);
            }

            //System.out.println(entry.getValue().size());

            row = sheet.getRow(y);
            cell = row.createCell(0);

            cell.setCellValue(entry.getKey());
            sheet.addMergedRegion(new CellRangeAddress(y, y + entry.getValue().size() - 1, 0, 1));

            k = 0;
            for (String[] s : entry.getValue()) {
                //System.out.println(s[0] + s[1]);
                row = sheet.getRow(y + k);
                cell = row.createCell(2);
                cell.setCellValue(s[0]);
                sheet.addMergedRegion(new CellRangeAddress(y + k, y + k, 2, 3));

                cell = row.createCell(4);
                cell.setCellValue(s[1]);
                sheet.addMergedRegion(new CellRangeAddress(y + k, y + k, 4, 10));

                k++;
            }

            y = y + entry.getValue().size();
        }

        filename = pjname + ".xlsx";

        try (FileOutputStream out = new FileOutputStream(filepath + filename)) {
            workbook.write(out);
        }

    } catch (Exception ex) {
        logger.log(Level.WARNING, "In Exception (ExcelWriter) : " + ex.toString());
        ex.printStackTrace();
    }

}

From source file:sistemas.Utils.java

public static void chartExcel(ArrayList<Object> actuales, ArrayList<Object> futuros, String path)
        throws Exception {
    Workbook wb = new XSSFWorkbook();
    Sheet sheet = wb.createSheet("linechart");
    final int NUM_OF_ROWS = 30;
    final int NUM_OF_COLUMNS = 5;

    // Create a row and put some cells in it. Rows are 0 based.
    Row row;/*w w  w .j a  v  a 2s  . c o  m*/
    Cell cell;
    for (int i = 0; i < 15; i++) {
        row = sheet.createRow((short) i);
        cell = row.createCell((short) 0);
        cell.setCellValue(i + 1);
        cell = row.createCell((short) 1);
        if (actuales.get(i) instanceof Integer)
            cell.setCellValue((Integer) actuales.get(i));
        else
            cell.setCellValue((Double) actuales.get(i));
        cell = row.createCell((short) 3);
        cell.setCellValue(i + 1);
        cell = row.createCell((short) 4);
        cell.setCellValue((Double) futuros.get(i));
    }
    for (int i = 15; i < 30; i++) {
        row = sheet.createRow((short) i);
        cell = row.createCell(3);
        cell.setCellValue(i + 1);
        cell = row.createCell(4);
        cell.setCellValue((Double) futuros.get(i));
    }

    Drawing drawing = sheet.createDrawingPatriarch();
    ClientAnchor anchor = drawing.createAnchor(0, 0, 0, 0, 0, 35, 10, 45);

    Chart chart = drawing.createChart(anchor);
    ChartLegend legend = chart.getOrCreateLegend();
    legend.setPosition(LegendPosition.TOP_RIGHT);

    LineChartData data = chart.getChartDataFactory().createLineChartData();

    // Use a category axis for the bottom axis.
    ChartAxis bottomAxis = chart.getChartAxisFactory().createCategoryAxis(AxisPosition.BOTTOM);
    ValueAxis leftAxis = chart.getChartAxisFactory().createValueAxis(AxisPosition.LEFT);
    leftAxis.setCrosses(AxisCrosses.AUTO_ZERO);

    ChartDataSource<Number> xs = DataSources.fromNumericCellRange(sheet, new CellRangeAddress(0, 29, 3, 3));
    ChartDataSource<Number> ys1 = DataSources.fromNumericCellRange(sheet, new CellRangeAddress(0, 29, 1, 1));
    ChartDataSource<Number> ys2 = DataSources.fromNumericCellRange(sheet, new CellRangeAddress(0, 29, 4, 4));

    data.addSeries(xs, ys1);
    data.addSeries(xs, ys2);

    chart.plot(data, bottomAxis, leftAxis);

    // Write the output to a file
    FileOutputStream fileOut = new FileOutputStream(path);
    wb.write(fileOut);
    fileOut.close();
}

From source file:snpviewer.SnpViewer.java

License:Open Source License

public void writeSavedRegionsToFile() {
    if (savedRegions.size() < 1) {
        Dialogs.showErrorDialog(null, "No Saved Regions exist to write!", "No Saved Regions", "SnpViewer");
        return;//from  w w w.j a v  a 2s.co m
    }
    final int flanks = 10;
    FileChooser fileChooser = new FileChooser();
    FileChooser.ExtensionFilter extFilter = new FileChooser.ExtensionFilter("Excel (*.xlsx)", "*.xlsx");
    fileChooser.getExtensionFilters().add(extFilter);
    fileChooser.setTitle("Write regions to Excel file (.xlsx)...");
    File rFile = fileChooser.showSaveDialog(mainWindow);
    if (rFile == null) {
        return;
    } else if (!rFile.getName().endsWith(".xlsx")) {
        rFile = new File(rFile.getAbsolutePath() + ".xlsx");
    }
    final File regionFile = rFile;
    final Task<Boolean> writeTask = new Task() {
        @Override
        protected Boolean call() throws Exception {
            try {
                updateProgress(-1, -1);
                BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(regionFile));
                Workbook wb = new XSSFWorkbook();
                //first create a summary sheet of all regions
                Sheet sheet = wb.createSheet();
                Row row = null;
                int rowNo = 0;
                int sheetNo = 0;
                wb.setSheetName(sheetNo++, "Summary");
                row = sheet.createRow(rowNo++);
                String header[] = { "Coordinates", "rsIDs", "Size (Mb)" };
                for (int col = 0; col < header.length; col++) {
                    Cell cell = row.createCell(col);
                    cell.setCellValue(header[col]);
                }
                for (int i = 0; i < savedRegions.size(); i++) {
                    row = sheet.createRow(rowNo++);
                    int col = 0;
                    Cell cell = row.createCell(col++);
                    cell.setCellValue("chr" + savedRegions.get(i).getCoordinateString());
                    cell = row.createCell(col++);
                    cell.setCellValue(savedRegions.get(i).getIdLine());
                    cell = row.createCell(col++);
                    double mB = (double) savedRegions.get(i).getLength() / 1000000;
                    cell.setCellValue(mB);
                }

                ArrayList<SnpFile> bothFiles = new ArrayList<>();
                bothFiles.addAll(affFiles);
                bothFiles.addAll(unFiles);
                String prevChrom = new String();
                double prog = 0;
                double total = savedRegions.size() * bothFiles.size() * 2;
                updateProgress(prog, total);
                int regCounter = 0;
                for (RegionSummary reg : savedRegions) {
                    updateMessage("Writing region " + ++regCounter + " of " + savedRegions.size());
                    //create a sheet for each chromosome
                    if (!reg.getChromosome().equalsIgnoreCase(prevChrom)) {
                        if (!prevChrom.isEmpty()) {

                            CellRangeAddress[] regions = {
                                    new CellRangeAddress(0, rowNo, 2, 2 + bothFiles.size()) };
                            SheetConditionalFormatting sheetCF = sheet.getSheetConditionalFormatting();

                            ConditionalFormattingRule rule1 = sheetCF
                                    .createConditionalFormattingRule(ComparisonOperator.EQUAL, "\"AA\"");
                            PatternFormatting fill1 = rule1.createPatternFormatting();
                            fill1.setFillBackgroundColor(IndexedColors.LIGHT_GREEN.index);
                            fill1.setFillPattern(PatternFormatting.SOLID_FOREGROUND);
                            ConditionalFormattingRule rule2 = sheetCF
                                    .createConditionalFormattingRule(ComparisonOperator.EQUAL, "\"BB\"");
                            PatternFormatting fill2 = rule2.createPatternFormatting();
                            fill2.setFillBackgroundColor(IndexedColors.PALE_BLUE.index);
                            fill2.setFillPattern(PatternFormatting.SOLID_FOREGROUND);
                            ConditionalFormattingRule rule3 = sheetCF
                                    .createConditionalFormattingRule(ComparisonOperator.EQUAL, "\"AB\"");
                            PatternFormatting fill3 = rule3.createPatternFormatting();
                            fill3.setFillBackgroundColor(IndexedColors.ROSE.index);
                            fill3.setFillPattern(PatternFormatting.SOLID_FOREGROUND);
                            sheetCF.addConditionalFormatting(regions, rule3, rule2);
                            sheetCF.addConditionalFormatting(regions, rule1);
                        }
                        rowNo = 0;
                        sheet = wb.createSheet();
                        wb.setSheetName(sheetNo++, reg.getChromosome());
                        prevChrom = reg.getChromosome();

                    } else {//pad regions with an empty line
                        rowNo++;
                    }
                    TreeMap<Integer, HashMap<String, String>> coordMap = new TreeMap();
                    /*coordmap - key is position, key of hashmap 
                     * is input filename and value call
                     */
                    HashMap<Integer, String> coordToId = new HashMap<>();
                    //coordinate to rs ID

                    try {
                        for (SnpFile f : bothFiles) {
                            updateProgress(prog++, total);
                            if (isCancelled()) {
                                return false;
                            }
                            List<SnpFile.SnpLine> lines = f.getSnpsInRegion(reg.getChromosome(),
                                    reg.getStartPos(), reg.getEndPos(), flanks);
                            for (SnpFile.SnpLine snpLine : lines) {
                                if (isCancelled()) {
                                    return false;
                                }
                                Integer coord = snpLine.getPosition();
                                if (!coordMap.containsKey(coord)) {
                                    coordMap.put(coord, new HashMap<String, String>());
                                }
                                String filename = f.inputFile.getName();
                                String rsId = snpLine.getId();
                                String call = snpLine.getCall();
                                coordMap.get(coord).put(filename, call);
                                coordToId.put(coord, rsId);
                            }
                        }
                        row = sheet.createRow(rowNo++);
                        Cell cell = row.createCell(0);
                        cell.setCellValue(reg.getCoordinateString());
                        row = sheet.createRow(rowNo++);
                        cell = row.createCell(0);
                        cell.setCellValue(reg.getIdLine());

                        int col = 0;
                        row = sheet.createRow(rowNo++);
                        cell = row.createCell(col++);
                        cell.setCellValue("Position");
                        cell = row.createCell(col++);
                        cell.setCellValue("rsID");
                        for (SnpFile f : bothFiles) {
                            updateProgress(prog++, total);
                            cell = row.createCell(col++);
                            if (f.getSampleName() != null && !f.getSampleName().isEmpty()) {
                                cell.setCellValue(f.getSampleName());
                            } else {
                                cell.setCellValue(f.inputFile.getName());
                            }
                        }
                        for (Entry current : coordMap.entrySet()) {
                            if (isCancelled()) {
                                return false;
                            }
                            col = 0;
                            Integer coord = (Integer) current.getKey();
                            row = sheet.createRow(rowNo++);
                            cell = row.createCell(col++);
                            cell.setCellValue(coord);
                            cell = row.createCell(col++);
                            cell.setCellValue(coordToId.get(coord));
                            HashMap<String, String> fileToCall = (HashMap<String, String>) current.getValue();
                            for (SnpFile f : bothFiles) {
                                cell = row.createCell(col++);
                                if (fileToCall.containsKey(f.inputFile.getName())) {
                                    cell.setCellValue(fileToCall.get(f.inputFile.getName()));
                                } else {
                                    cell.setCellValue("-");
                                }
                            }
                        }
                    } catch (Exception ex) {
                        return false;
                    }

                }
                CellRangeAddress[] regions = { new CellRangeAddress(0, rowNo, 2, 2 + bothFiles.size()) };
                SheetConditionalFormatting sheetCF = sheet.getSheetConditionalFormatting();

                ConditionalFormattingRule rule1 = sheetCF
                        .createConditionalFormattingRule(ComparisonOperator.EQUAL, "\"AA\"");
                PatternFormatting fill1 = rule1.createPatternFormatting();
                fill1.setFillBackgroundColor(IndexedColors.LIGHT_GREEN.index);
                fill1.setFillPattern(PatternFormatting.SOLID_FOREGROUND);
                ConditionalFormattingRule rule2 = sheetCF
                        .createConditionalFormattingRule(ComparisonOperator.EQUAL, "\"BB\"");
                PatternFormatting fill2 = rule2.createPatternFormatting();
                fill2.setFillBackgroundColor(IndexedColors.PALE_BLUE.index);
                fill2.setFillPattern(PatternFormatting.SOLID_FOREGROUND);
                ConditionalFormattingRule rule3 = sheetCF
                        .createConditionalFormattingRule(ComparisonOperator.EQUAL, "\"AB\"");
                PatternFormatting fill3 = rule3.createPatternFormatting();
                fill3.setFillBackgroundColor(IndexedColors.ROSE.index);
                fill3.setFillPattern(PatternFormatting.SOLID_FOREGROUND);
                sheetCF.addConditionalFormatting(regions, rule3, rule2);
                sheetCF.addConditionalFormatting(regions, rule1);
                wb.write(out);
                updateProgress(total, total);
                out.close();
            } catch (IOException | NumberFormatException ex) {
                ex.printStackTrace();
                return false;
            }
            return true;
        }
    };//end of task

    setProgressMode(true);
    progressBar.progressProperty().bind(writeTask.progressProperty());
    progressMessage.textProperty().bind(writeTask.messageProperty());
    writeTask.setOnSucceeded(new EventHandler<WorkerStateEvent>() {
        @Override
        public void handle(WorkerStateEvent e) {
            if (e.getSource().getValue() == true) {
                Dialogs.showInformationDialog(null,
                        "Saved regions written " + "to file " + "(" + regionFile.getName() + ")successfully",
                        "Regions Written", "SNP Viewer");
            } else {
                Dialogs.showErrorDialog(null, "Region write failed.", "Write Failed", "SNP Viewer");
            }
            setProgressMode(false);
            progressBar.progressProperty().unbind();
            progressBar.progressProperty().set(0);
            progressMessage.textProperty().unbind();
            progressMessage.setText("");
            progressTitle.setText("");

        }

    });
    writeTask.setOnFailed(new EventHandler<WorkerStateEvent>() {
        @Override
        public void handle(WorkerStateEvent e) {
            setProgressMode(false);
            progressBar.progressProperty().unbind();
            progressBar.progressProperty().set(0);
            progressMessage.textProperty().unbind();
            progressMessage.setText("");
            progressTitle.setText("Region write failed!");
            Dialogs.showErrorDialog(null, "Error writing region to file\n", "Region write error", "SNP Viewer",
                    e.getSource().getException());

        }

    });
    writeTask.setOnCancelled(new EventHandler<WorkerStateEvent>() {
        @Override
        public void handle(WorkerStateEvent e) {
            progressMessage.setText("Region write cancelled");
            progressTitle.setText("Cancelled");
            setProgressMode(false);
            progressBar.progressProperty().unbind();
            progressBar.progressProperty().set(0);
            Dialogs.showErrorDialog(null, "Error writing region to file\n", "Region write error", "SNP Viewer");
        }

    });
    cancelButton.setOnAction(new EventHandler<ActionEvent>() {
        @Override
        public void handle(ActionEvent actionEvent) {
            writeTask.cancel();

        }
    });
    progressTitle.setText("Writing regions to .xlsx file");
    new Thread(writeTask).start();
}

From source file:snpviewer.SnpViewer.java

License:Open Source License

public void writeRegionToFile(final String chromosome, final double start, final double end) {
    /* get coordinates of selection and report back
     * write SNPs in region to file/*  www .  jav a2s .c o  m*/
     */
    FileChooser fileChooser = new FileChooser();
    FileChooser.ExtensionFilter extFilter = new FileChooser.ExtensionFilter("Excel  (*.xlsx)", "*.xlsx");
    fileChooser.getExtensionFilters().add(extFilter);
    fileChooser.setTitle("Write region to Excel file (.xlsx)...");
    File rFile = fileChooser.showSaveDialog(mainWindow);
    if (rFile == null) {
        return;
    } else if (!rFile.getName().endsWith(".xlsx")) {
        rFile = new File(rFile.getAbsolutePath() + ".xlsx");
    }
    final File regionFile = rFile;
    final Task<Boolean> writeTask = new Task() {
        @Override
        protected Boolean call() throws Exception {
            try {

                updateProgress(-1, -1);
                ArrayList<SnpFile> bothFiles = new ArrayList<>();
                bothFiles.addAll(affFiles);
                bothFiles.addAll(unFiles);
                TreeMap<Integer, HashMap<String, String>> coordMap = new TreeMap();
                /*coordmap - key is position, key of hashmap 
                 * is input filename and value call
                 */
                HashMap<Integer, String> coordToId = new HashMap<>();
                double progress = 0;
                double total = bothFiles.size() * 5;
                try {
                    BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(regionFile));
                    Workbook wb = new XSSFWorkbook();
                    Sheet sheet = wb.createSheet();
                    int rowNo = 0;
                    Row row = sheet.createRow(rowNo++);
                    for (SnpFile f : bothFiles) {
                        if (isCancelled()) {
                            return false;
                        }
                        updateProgress(++progress, total);
                        updateMessage("Reading region in " + f.inputFile.getName());
                        List<SnpFile.SnpLine> lines = f.getSnpsInRegion(chromosome, (int) start, (int) end);
                        for (SnpFile.SnpLine snpLine : lines) {
                            if (isCancelled()) {
                                return false;
                            }
                            Integer coord = snpLine.getPosition();
                            if (!coordMap.containsKey(coord)) {
                                coordMap.put(coord, new HashMap<String, String>());
                            }
                            String filename = f.inputFile.getName();
                            String rsId = snpLine.getId();
                            String call = snpLine.getCall();
                            coordMap.get(coord).put(filename, call);
                            coordToId.put(coord, rsId);
                        }
                    }
                    Cell cell = row.createCell(0);
                    cell.setCellValue(
                            "chr" + chromosome + ":" + coordMap.firstKey() + "-" + coordMap.lastKey());
                    row = sheet.createRow(rowNo++);
                    cell = row.createCell(0);
                    cell.setCellValue(
                            coordToId.get(coordMap.firstKey()) + ";" + coordToId.get(coordMap.lastKey()));
                    row = sheet.createRow(rowNo++);
                    int colNo = 0;
                    cell = row.createCell(colNo++);
                    cell.setCellValue("Position");
                    cell = row.createCell(colNo++);
                    cell.setCellValue("rsID");
                    for (SnpFile f : bothFiles) {
                        cell = row.createCell(colNo++);
                        if (f.getSampleName() != null && f.getSampleName().length() > 0) {
                            cell.setCellValue(f.getSampleName());
                        } else {
                            cell.setCellValue(f.getInputFileName());
                        }
                    }
                    progress = coordMap.size();
                    total = 5 * coordMap.size();
                    updateMessage("Writing region to file...");
                    for (Entry current : coordMap.entrySet()) {
                        if (isCancelled()) {
                            return false;
                        }
                        progress += 4;
                        updateProgress(progress, total);
                        row = sheet.createRow(rowNo++);
                        colNo = 0;
                        Integer coord = (Integer) current.getKey();
                        cell = row.createCell(colNo++);
                        cell.setCellValue(coord);
                        String rsId = coordToId.get(coord);
                        cell = row.createCell(colNo++);
                        cell.setCellValue(rsId);
                        HashMap<String, String> fileToCall = (HashMap<String, String>) current.getValue();
                        for (SnpFile f : bothFiles) {
                            cell = row.createCell(colNo++);
                            if (fileToCall.containsKey(f.inputFile.getName())) {
                                cell.setCellValue(fileToCall.get(f.inputFile.getName()));
                            } else {
                                cell.setCellValue("-");
                            }
                        }
                    }
                    CellRangeAddress[] regions = { new CellRangeAddress(0, rowNo, 2, 2 + bothFiles.size()) };
                    SheetConditionalFormatting sheetCF = sheet.getSheetConditionalFormatting();

                    ConditionalFormattingRule rule1 = sheetCF
                            .createConditionalFormattingRule(ComparisonOperator.EQUAL, "\"AA\"");
                    PatternFormatting fill1 = rule1.createPatternFormatting();
                    fill1.setFillBackgroundColor(IndexedColors.LIGHT_GREEN.index);
                    fill1.setFillPattern(PatternFormatting.SOLID_FOREGROUND);
                    ConditionalFormattingRule rule2 = sheetCF
                            .createConditionalFormattingRule(ComparisonOperator.EQUAL, "\"BB\"");
                    PatternFormatting fill2 = rule2.createPatternFormatting();
                    fill2.setFillBackgroundColor(IndexedColors.PALE_BLUE.index);
                    fill2.setFillPattern(PatternFormatting.SOLID_FOREGROUND);
                    ConditionalFormattingRule rule3 = sheetCF
                            .createConditionalFormattingRule(ComparisonOperator.EQUAL, "\"AB\"");
                    PatternFormatting fill3 = rule3.createPatternFormatting();
                    fill3.setFillBackgroundColor(IndexedColors.ROSE.index);
                    fill3.setFillPattern(PatternFormatting.SOLID_FOREGROUND);
                    sheetCF.addConditionalFormatting(regions, rule3, rule2);
                    sheetCF.addConditionalFormatting(regions, rule1);
                    wb.write(out);
                    out.close();
                    return true;
                } catch (IOException ex) {
                    return false;
                }
            } catch (Exception ex) {
                return false;
            }
        }
    };//end of task

    setProgressMode(true);
    progressBar.progressProperty().bind(writeTask.progressProperty());
    progressMessage.textProperty().bind(writeTask.messageProperty());
    writeTask.setOnSucceeded(new EventHandler<WorkerStateEvent>() {
        @Override
        public void handle(WorkerStateEvent e) {
            if (e.getSource().getValue() == true) {
                Dialogs.showInformationDialog(null,
                        "Region written to file " + "(" + regionFile.getName() + ") successfully",
                        "Region Written", "SNP Viewer");
            } else {
                Dialogs.showErrorDialog(null, "Region write failed.", "Write Failed", "SNP Viewer");
            }
            setProgressMode(false);
            progressBar.progressProperty().unbind();
            progressBar.progressProperty().set(0);
            progressMessage.textProperty().unbind();
            progressMessage.setText("");
            progressTitle.setText("");

        }

    });
    writeTask.setOnFailed(new EventHandler<WorkerStateEvent>() {
        @Override
        public void handle(WorkerStateEvent e) {
            setProgressMode(false);
            progressBar.progressProperty().unbind();
            progressBar.progressProperty().set(0);
            progressMessage.textProperty().unbind();
            progressMessage.setText("");
            progressTitle.setText("Region write failed!");
            Dialogs.showErrorDialog(null, "Error writing region to file\n", "Region write error", "SNP Viewer",
                    e.getSource().getException());

        }

    });
    writeTask.setOnCancelled(new EventHandler<WorkerStateEvent>() {
        @Override
        public void handle(WorkerStateEvent e) {
            progressMessage.setText("Region write cancelled");
            progressTitle.setText("Cancelled");
            setProgressMode(false);
            progressBar.progressProperty().unbind();
            progressBar.progressProperty().set(0);
            Dialogs.showErrorDialog(null, "Error writing region to file\n", "Region write error", "SNP Viewer");
        }

    });
    cancelButton.setOnAction(new EventHandler<ActionEvent>() {
        @Override
        public void handle(ActionEvent actionEvent) {
            writeTask.cancel();

        }
    });
    progressTitle.setText("Writing region to .xlsx file");
    new Thread(writeTask).start();
}

From source file:standarapp.algorithm.ReadFileVector.java

public String lectureRegistry(String nameFile, String nameOut, int[] col, double percent, int rowBegin) {
    String answer = "";
    int quantityFound = 0;

    workbook = Lecture.lectureXLSX(nameFile);
    sheet = workbook.getSheetAt(0);//from ww  w  .jav  a2s. co  m

    for (Row row : sheet) {
        if (row.getRowNum() < rowBegin) {
            continue;
        }

        String[] cellsWI = new String[col.length + 1];
        for (int i = 0; i < col.length; i++) {
            cellsWI[i] = "";
            try {
                Cell cell = row.getCell(col[i]);
                if (cell.getCellType() == Cell.CELL_TYPE_STRING) {
                    cellsWI[i] = deleteTrash(cell.getStringCellValue());
                } else {
                    cellsWI[i] = cell.getDateCellValue().toString();
                    cellsWI[col.length] = String.valueOf(cell.getDateCellValue().getMonth());
                }
                if (i == 2) {
                    cellsWI[i] = cell.getStringCellValue();
                }
            } catch (Exception e) {
            }
        }
        registry.add(cellsWI);
    }

    System.out.println("Total: " + registry.size());
    /*for (int i = 0; i < registry.size(); i++) {
    System.out.println(i +" Municipio: " + registry.get(i)[0] + " | Localidad: " + registry.get(i)[1] + " | Especie: " + registry.get(i)[2] + " | Fecha: " + registry.get(i)[3]);
    }*/

    int rowCount = 0;
    int columnCount = 0;

    CellStyle cs = workbook.createCellStyle();
    //Font font = workbook.createFont();
    cs.setAlignment(HorizontalAlignment.CENTER);
    cs.setVerticalAlignment(VerticalAlignment.CENTER);
    cs.setBorderRight(BorderStyle.THIN);
    cs.setBorderLeft(BorderStyle.THIN);
    cs.setBorderBottom(BorderStyle.THIN);
    cs.setBorderTop(BorderStyle.THIN);

    sheet = workbook.createSheet();
    sheet.setFitToPage(true);
    sheet.setHorizontallyCenter(true);
    sheet.setColumnWidth(0, 20);

    Row row = sheet.createRow(0);
    Cell encabezado = row.createCell(rowCount);
    encabezado.setCellValue("Base de  datos coordenadas");
    encabezado.setCellStyle(cs);

    CellRangeAddress region = new CellRangeAddress(0, 0, 0, 8);
    sheet.addMergedRegion(region);

    row = sheet.createRow(++rowCount);
    Cell cell = row.createCell(columnCount);
    cell.setCellValue("Especie");
    cell.setCellStyle(cs);
    cell = row.createCell(++columnCount);
    cell.setCellValue("Municipio");
    cell.setCellStyle(cs);
    cell = row.createCell(++columnCount);
    cell.setCellValue("Codigo Municipio");
    cell.setCellStyle(cs);
    cell = row.createCell(++columnCount);
    cell.setCellValue("Vereda");
    cell.setCellStyle(cs);
    cell = row.createCell(++columnCount);
    cell.setCellValue("Codigo Vereda");
    cell.setCellStyle(cs);
    cell = row.createCell(++columnCount);
    cell.setCellValue("Mes");
    cell.setCellStyle(cs);
    cell = row.createCell(++columnCount);
    cell.setCellValue("Ao");
    cell.setCellStyle(cs);
    cell = row.createCell(++columnCount);
    cell.setCellValue("Latitud");
    cell.setCellStyle(cs);
    cell = row.createCell(++columnCount);
    cell.setCellValue("Longitud");
    cell.setCellStyle(cs);
    cell = row.createCell(++columnCount);
    cell.setCellValue("Fuente");
    cell.setCellStyle(cs);

    for (int i = 0; i < registry.size(); i++) {
        try {
            String[] registro = registry.get(i);
            columnCount = -1;
            int cod_Mncp = 0;
            row = sheet.createRow(++rowCount);
            double levenstein = 0;
            double localidad_oficial = 0;
            double levensteinActual = 0;

            for (Integer codMunicipio : codigo_Municipio.keySet()) {
                if (registro[0].equals(codigo_Municipio.get(codMunicipio))) {
                    cod_Mncp = codMunicipio;
                    break;
                }

                try {
                    double levenstein_local = FuzzySearch.ratio(registro[0],
                            codigo_Municipio.get(codMunicipio));
                    if (levenstein_local >= levensteinActual) {
                        cod_Mncp = codMunicipio;
                        levensteinActual = levenstein_local;
                    }

                    if (levensteinActual == 100) {
                        break;
                    }
                } catch (Exception e) {
                }
            }

            for (Double cod_Loc : mncp_localidad.get(cod_Mncp).keySet()) {
                String loc = mncp_localidad.get(cod_Mncp).get(cod_Loc);

                if (registro[1].equals(loc)) {
                    localidad_oficial = cod_Loc;
                    levenstein = 101;
                }

                try {
                    double levenstein_local = FuzzySearch.ratio(registro[1], loc);
                    if (levenstein_local >= levenstein) {
                        localidad_oficial = cod_Loc;
                        levenstein = levenstein_local;
                    }

                    if (levenstein == 100) {
                        break;
                    }

                } catch (Exception e) {
                }
            }

            String mncp_oficial = codigo_Municipio.get(cod_Mncp);
            String loc_oficial = codigo_localidad.get(localidad_oficial);
            String especie = registro[2];
            double locX = localidad_x.get(localidad_oficial);
            double locY = localidad_y.get(localidad_oficial);
            int year = 0;
            int month = 0;
            System.out.println();
            try {
                year = Integer.parseInt(registro[3].split(" ")[5]);
                month = Integer.parseInt(registro[registro.length - 1]) + 1;
            } catch (Exception e) {
                year = Integer.parseInt(registro[3].substring(registro[3].length() - 4));
                month = Integer
                        .parseInt(registro[3].substring(registro[3].length() - 7, registro[3].length() - 5));
            }

            quantityFound++;

            cell = row.createCell(++columnCount);
            cell.setCellValue(especie);
            cell.setCellStyle(cs);
            cell = row.createCell(++columnCount);
            cell.setCellValue(mncp_oficial);
            cell.setCellStyle(cs);
            cell = row.createCell(++columnCount);
            cell.setCellValue(cod_Mncp);
            cell.setCellStyle(cs);
            cell = row.createCell(++columnCount);
            cell.setCellValue(loc_oficial);
            cell.setCellStyle(cs);
            cell = row.createCell(++columnCount);
            cell.setCellValue(localidad_oficial);
            cell.setCellStyle(cs);
            cell = row.createCell(++columnCount);
            cell.setCellValue(month);
            cell.setCellStyle(cs);
            cell = row.createCell(++columnCount);
            cell.setCellValue(year);
            cell.setCellStyle(cs);
            cell = row.createCell(++columnCount);
            cell.setCellValue(locY);
            cell.setCellStyle(cs);
            cell = row.createCell(++columnCount);
            cell.setCellValue(locX);
            cell.setCellStyle(cs);
        } catch (Exception e) {
            continue;
        }
    }

    sheet.setColumnWidth(0, 5800);
    sheet.setColumnWidth(1, 5800);
    sheet.setColumnWidth(2, 3000);
    sheet.setColumnWidth(3, 5800);
    sheet.setColumnWidth(4, 3000);
    sheet.setColumnWidth(5, 3000);
    sheet.setColumnWidth(6, 3000);
    sheet.setColumnWidth(7, 6400);
    sheet.setColumnWidth(8, 6400);

    answer = "Se generaron " + quantityFound + " vector(es)";
    try (FileOutputStream outputStream = new FileOutputStream(nameOut)) {
        workbook.write(outputStream);
    } catch (IOException ex) {
        quantityFound = 0;
        answer = "Cerrar el archivo de entrada ";
    }
    return answer;
}

From source file:tan.jam.jsf.Shifting.java

public static void InsertRow(XSSFWorkbook workbook, XSSFSheet worksheet, int sourceRowNum,
        int destinationRowNum) {

    worksheet.shiftRows(destinationRowNum, worksheet.getLastRowNum(), 1);
    XSSFRow newRow = worksheet.getRow(destinationRowNum);
    XSSFRow sourceRow = worksheet.getRow(sourceRowNum);

    if (newRow != null) {
        worksheet.shiftRows(destinationRowNum, worksheet.getLastRowNum(), 1);
    } else {/*from  ww  w  . j av a2s. c o m*/
        newRow = worksheet.createRow(destinationRowNum);
    }

    for (int i = 0; i < sourceRow.getLastCellNum(); i++) {
        // Grab a copy of the old/new cell
        XSSFCell oldCell = sourceRow.getCell(i);
        XSSFCell newCell = newRow.createCell(i);

        if (oldCell == null) {
            newCell = null;
            continue;
        }

        XSSFCellStyle newCellStyle = workbook.createCellStyle();
        newCellStyle.cloneStyleFrom(oldCell.getCellStyle());
        ;
        newCell.setCellStyle(newCellStyle);

        if (oldCell.getCellComment() != null) {
            newCell.setCellComment(oldCell.getCellComment());
        }

        if (oldCell.getHyperlink() != null) {
            newCell.setHyperlink(oldCell.getHyperlink());
        }

        newCell.setCellType(oldCell.getCellType());

        switch (oldCell.getCellType()) {
        case org.apache.poi.ss.usermodel.Cell.CELL_TYPE_BLANK:
            newCell.setCellValue(oldCell.getStringCellValue());
            break;
        case org.apache.poi.ss.usermodel.Cell.CELL_TYPE_BOOLEAN:
            newCell.setCellValue(oldCell.getBooleanCellValue());
            break;
        case org.apache.poi.ss.usermodel.Cell.CELL_TYPE_ERROR:
            newCell.setCellErrorValue(oldCell.getErrorCellValue());
            break;
        case org.apache.poi.ss.usermodel.Cell.CELL_TYPE_FORMULA:
            newCell.setCellFormula("+" + "F" + destinationRowNum + "*G" + destinationRowNum);
            break;
        case org.apache.poi.ss.usermodel.Cell.CELL_TYPE_NUMERIC:
            //newCell.setCellValue(oldCell.getNumericCellValue());
            break;
        case org.apache.poi.ss.usermodel.Cell.CELL_TYPE_STRING:
            newCell.setCellValue("");
            break;
        }
    }

    for (int i = 0; i < worksheet.getNumMergedRegions(); i++) {
        CellRangeAddress cellRangeAddress = worksheet.getMergedRegion(i);
        if (cellRangeAddress.getFirstRow() == sourceRow.getRowNum()) {
            CellRangeAddress newCellRangeAddress = new CellRangeAddress(newRow.getRowNum(),
                    (newRow.getRowNum() + (cellRangeAddress.getLastRow() - cellRangeAddress.getFirstRow())),
                    cellRangeAddress.getFirstColumn(), cellRangeAddress.getLastColumn());
            worksheet.addMergedRegion(newCellRangeAddress);
        }
    }
    int inc = destinationRowNum + 1;
    worksheet.getRow(destinationRowNum).getCell(7).setCellFormula("+F" + inc + "*G" + inc);
}

From source file:tan.jam.jsf.Shifting.java

public static void MergeCells(XSSFWorkbook workbook, XSSFSheet worksheet) {
    int Mov = FindShift(workbook, worksheet);
    worksheet.addMergedRegion(new CellRangeAddress(1, 1, 12 + Mov, 13 + Mov));
    worksheet.addMergedRegion(new CellRangeAddress(1, 1, 18 + Mov, 19 + Mov));
    worksheet.addMergedRegion(new CellRangeAddress(1, 1, 24 + Mov, 25 + Mov));
    worksheet.addMergedRegion(new CellRangeAddress(1, 1, 30 + Mov, 31 + Mov));
    worksheet.addMergedRegion(new CellRangeAddress(1, 1, 36 + Mov, 37 + Mov));
    worksheet.addMergedRegion(new CellRangeAddress(1, 1, 42 + Mov, 43 + Mov));
    worksheet.addMergedRegion(new CellRangeAddress(1, 1, 48 + Mov, 49 + Mov));
    worksheet.addMergedRegion(new CellRangeAddress(1, 1, 54 + Mov, 55 + Mov));
}

From source file:tasklist.model.ExcelWriterChart.java

public ExcelWriterChart(List<Task> taskData, File file) throws IOException {

    //add Excel table Header
    row = sheet.createRow(0);/*from   w w w  .  j ava  2  s .c om*/
    cell = row.createCell(0);
    cell.setCellValue("Name");

    cell = row.createCell(1);
    cell.setCellValue("PID");

    cell = row.createCell(2);
    cell.setCellValue("Memory");

    // Create a row and put some cells in it. Rows are 0 based.
    int rowIndex = 1;
    for (Task taskD : taskData) {

        row = sheet.createRow((short) rowIndex);

        cell = row.createCell(0);
        cell.setCellValue(taskD.getName());

        cell = row.createCell(1);
        cell.setCellValue(taskD.getPID());

        cell = row.createCell(2);
        cell.setCellValue(taskD.getMemory());

        rowIndex++;
    }

    //auto fit "Nmae" column
    sheet.autoSizeColumn(0);

    Drawing drawing = sheet.createDrawingPatriarch();
    ClientAnchor anchor = drawing.createAnchor(0, 0, 0, 0, 4, 1, 15, 25);

    Chart chart = drawing.createChart(anchor);
    ChartLegend legend = chart.getOrCreateLegend();
    legend.setPosition(LegendPosition.TOP_RIGHT);

    LineChartData data = chart.getChartDataFactory().createLineChartData();

    // Use a category axis for the bottom axis.
    ChartAxis bottomAxis = chart.getChartAxisFactory().createCategoryAxis(AxisPosition.BOTTOM);
    ValueAxis leftAxis = chart.getChartAxisFactory().createValueAxis(AxisPosition.LEFT);
    leftAxis.setCrosses(AxisCrosses.AUTO_ZERO);

    ChartDataSource<Number> xs = DataSources.fromNumericCellRange(sheet,
            new CellRangeAddress(1, taskData.size(), 0, 0));
    ChartDataSource<Number> ys1 = DataSources.fromNumericCellRange(sheet,
            new CellRangeAddress(1, taskData.size(), 2, 2));

    data.addSeries(xs, ys1);

    chart.plot(data, bottomAxis, leftAxis);

    // Write the output to a file
    FileOutputStream fileOut;
    try {
        fileOut = new FileOutputStream(file.getPath());
        wb.write(fileOut);
        fileOut.close();
    } catch (FileNotFoundException ex) {
        Logger.getLogger(ExcelWriterChart.class.getName()).log(Level.SEVERE, null, ex);
    }

}

From source file:test.poi.MyExcelDemo.java

License:Apache License

public static void main(String[] args) throws Exception {
    Workbook wb = new HSSFWorkbook();

    Map<String, CellStyle> styles = createStyles(wb);

    Sheet sheet = wb.createSheet("Timesheet");
    PrintSetup printSetup = sheet.getPrintSetup();
    printSetup.setLandscape(true);/*  www  . j  a  va2s. c  om*/
    sheet.setFitToPage(true);
    sheet.setHorizontallyCenter(true);

    //title row
    Row titleRow = sheet.createRow(0);
    titleRow.setHeightInPoints(45);
    Cell titleCell = titleRow.createCell(0);
    titleCell.setCellValue("XX????20130506-20140503");
    titleCell.setCellStyle(styles.get("title"));
    sheet.addMergedRegion(CellRangeAddress.valueOf("$A$1:$O$1"));

    //header row
    Row headerRow = sheet.createRow(1);
    sheet.setDefaultColumnWidth(20);
    headerRow.setHeightInPoints(20);
    Cell headerCell;
    for (int i = 1; i < titles.length; i++) {
        headerCell = headerRow.createCell(i);
        headerCell.setCellValue(titles[i - 1]);
        CellRangeAddress cra = new CellRangeAddress(1, 2, i, i);
        sheet.addMergedRegion(cra);
        setBorder(cra, sheet, wb);
        headerCell.setCellStyle(styles.get("header"));

    }

    // Write the output to a file
    String file = "E:\\test.xls";
    //        if(wb instanceof XSSFWorkbook) file += "x";
    FileOutputStream out = new FileOutputStream(file);
    wb.write(out);
    out.close();
}

From source file:testoffice.ExcelPrinter.java

private void printTableCap(Calendar c, int monthDay) {
    region = new CellRangeAddress(0, 0, 0, monthDay * MyOffice.MAX_WORK_HOURS_PER_DAY + numExtraResultsColumn);
    sheet.addMergedRegion(region);/*from w  w w . j  av  a 2 s  . c  o m*/

    titleRow = sheet.createRow(0);
    titleRow.createCell(0).setCellValue(MyOffice.NAME);
    titleRow.getCell(0).setCellStyle(style);

    dayRow = sheet.createRow(1);
    hoursRow = sheet.createRow(2);

    for (int i = 1; i <= monthDay; i++) {
        for (int j = 1; j <= MyOffice.MAX_WORK_HOURS_PER_DAY; j++) {
            int k = j + MyOffice.MAX_WORK_HOURS_PER_DAY * (i - 1);

            c.set(c.get(Calendar.YEAR), c.get(Calendar.MONTH), i);

            dayRow.createCell(k).setCellValue(i + "." + (c.get(Calendar.MONTH) + 1) + "." + c.get(Calendar.YEAR)
                    + " " + MyOffice.WEEK_DAY[c.get(Calendar.DAY_OF_WEEK)]);
            hoursRow.createCell(k).setCellValue(j);

            dayRow.getCell(k).setCellStyle(style);
            hoursRow.getCell(k).setCellStyle(style);

            if (k % MyOffice.MAX_WORK_HOURS_PER_DAY == 0) {
                region = new CellRangeAddress(1, 1, i * j - (MyOffice.MAX_WORK_HOURS_PER_DAY - 1), k);
                sheet.addMergedRegion(region);
            }
        }
    }
    dayRow.createCell((int) (dayRow.getLastCellNum())).setCellValue("Hours Worked, hours");
    dayRow.createCell((int) (dayRow.getLastCellNum())).setCellValue("Rate, $/hour");
    dayRow.createCell((int) (dayRow.getLastCellNum())).setCellValue("Fix Rate, $/month");
    dayRow.createCell((int) (dayRow.getLastCellNum())).setCellValue("Total Earnings, $");
}