⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 outter.java

📁 ERO系统.针对生产型、分销型、服务型企业等不同的行业特点
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
// Decompiled by Jad v1.5.7g. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi 
// Source File Name:   Outter.java

/*
 *this file is part of nseer erp
 *Copyright (C)2006-2010 Nseer(Beijing) Technology co.LTD/http://www.nseer.com 
 *
 *This program is free software; you can redistribute it and/or
 *modify it under the terms of the GNU General Public License
 *as published by the Free Software Foundation; either
 *version 2 of the License, or (at your option) any later version.
 */
package include.excel_import;

import java.io.FileInputStream;
import java.io.PrintStream;
import java.text.*;
import java.util.*;
import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;

public class Outter extends Path
{

    private String fileName;
    private HSSFWorkbook wb;
    private String message;

    public Outter()
    {
        fileName = null;
        wb = null;
        message = "";
    }

    private boolean blankTitle()
    {
        Vector vector = getTablesName();
        for(int i = 0; i < vector.size(); i++)
        {
            HSSFSheet hssfsheet = wb.getSheetAt(i);
            HSSFRow hssfrow = hssfsheet.getRow(0);
            if(hssfrow == null)
            {
                message += "有空标题的情况,或者空的SHEET";
                return true;
            }
            Iterator iterator = hssfrow.cellIterator();
            int j;
            for(j = 0; iterator.hasNext(); j++)
            {
                HSSFCell hssfcell = (HSSFCell)iterator.next();
            }

            for(int k = 0; k < j - 1; k++)
            {
                HSSFCell hssfcell1 = hssfrow.getCell((short)k);
                if(hssfcell1 == null)
                    return true;
                if(hssfcell1.getCellType() != 1)
                {
                    message += (String)vector.elementAt(i) + "的第" + (k + 1) + "列的标题类型不对<br>";
                    return true;
                }
                if(hssfcell1.getCellType() == 3)
                {
                    message += (String)vector.elementAt(i) + "的第" + (k + 1) + "列的标题为空<br>";
                    return true;
                }
            }

        }

        return false;
    }

    private void chop()
    {
        Vector vector = getTablesName();
        try
        {
            for(int i = 0; i < vector.size(); i++)
            {
                boolean flag = true;
                HSSFSheet hssfsheet = wb.getSheetAt(i);
                int j = getColumnCount(hssfsheet);
                for(int k = 0; k < j; k++)
                    if(isBlankColumn(k, hssfsheet))
                        removeColumn(k, hssfsheet);

                int l = getRowCount((String)vector.elementAt(i));
                for(int i1 = 0; i1 < l; i1++)
                {
                    HSSFRow hssfrow = hssfsheet.getRow(i1);
                    if(isBlankRow(hssfrow))
                        hssfsheet.removeRow(hssfrow);
                }

            }

        }
        catch(Exception exception)
        {
            exception.printStackTrace();
        }
    }

    private String getCellType(HSSFCell hssfcell)
    {
        HSSFDataFormat hssfdataformat = wb.createDataFormat();
        HSSFCellStyle hssfcellstyle = hssfcell.getCellStyle();
        short word0 = hssfcellstyle.getDataFormat();
        String s = hssfdataformat.getFormat(word0);
        String s1 = "";
        switch(hssfcell.getCellType())
        {
        case 0: // '\0'
            if(s.indexOf("0_") == 0 || s.indexOf("0;") == 0 || s.indexOf("#,##0_") == 0 || s.indexOf("#,##0;") == 0 || s.equals("0"))
            {
                s1 = "INT";
                break;
            }
            if(s.equals("yyyy\\-mm\\-dd") || s.equals("yyyy-mm-dd") || s.equals("yyyy/mm/dd") || s.equals("m/d/yy") || s.equals("0x1f"))
            {
                s1 = "DATE";
                break;
            }
            if(s.indexOf("#,##0.") == 0 || s.indexOf("0.0") == 0)
            {
                s1 = "DOUBLE";
                break;
            }
            if(s.equals("General"))
                s1 = "INT1";
            else
                s1 = "NUMBERIC";
            break;

        case 1: // '\001'
            if(s.equals("General"))
            {
                s1 = "STRING";
                break;
            }
            if(s.equals("@"))
            {
                s1 = "STRING";
                break;
            }
            if(s.indexOf("0_") == 0 || s.indexOf("0;") == 0 || s.indexOf("#,##0_") == 0 || s.indexOf("#,##0;") == 0 || s.equals("0"))
            {
                s1 = "INT";
                break;
            }
            if(s.indexOf("#,##0.") == 0 || s.indexOf("0.0") == 0)
                s1 = "DOUBLE";
            else
                System.out.println(s);
            break;

        case 3: // '\003'
            s1 = "BLANK";
            break;

        case 2: // '\002'
            s1 = "FORMULA";
            break;

        case 5: // '\005'
            s1 = "ERROR";
            break;

        case 4: // '\004'
        default:
            s1 = "UNKNOWN";
            break;
        }
        return s1;
    }

    private int getColumnCount(HSSFSheet hssfsheet)
    {
        HSSFRow hssfrow = hssfsheet.getRow(0);
        Iterator iterator = hssfrow.cellIterator();
        int i;
        for(i = 0; iterator.hasNext(); i++)
        {
            HSSFCell hssfcell = (HSSFCell)iterator.next();
        }

        return i;
    }

    public String getItemType(String s, String s1)
        throws Exception
    {
        int i = getItemsName(s1).indexOf(s);
        if(i == -1)
            throw new Exception("Item not found");
        HSSFSheet hssfsheet = wb.getSheetAt(getTablesName().indexOf(s1));
        HashMap hashmap = new HashMap();
        for(int j = 1; j < getRowCount(s1); j++)
        {
            HSSFRow hssfrow = hssfsheet.getRow(j);
            HSSFCell hssfcell = hssfrow.getCell((short)i);
            String s2 = getCellType(hssfcell);
            if(!hashmap.containsKey(s2))
                hashmap.put(s2, new Integer(1));
            else
                hashmap.put(s2, new Integer(((Integer)hashmap.get(s2)).intValue() + 1));
        }

        Set set = hashmap.keySet();
        Iterator iterator = set.iterator();
        Integer integer = new Integer(0);
        String s3 = "BLANK";
        int k = 0;
        while(iterator.hasNext()) 
        {
            String s4 = (String)iterator.next();
            if(k == 0)
            {
                integer = (Integer)hashmap.get(s4);
                s3 = s4;
                k++;
            } else
            if(integer.compareTo((Integer)hashmap.get(s4)) < 0)
            {
                integer = (Integer)hashmap.get(s4);
                s3 = s4;
            }
        }
        return s3;
    }

    public Vector getItemValues(String s, String s1)
        throws Exception
    {
        Vector vector = new Vector();
        int i = getItemsName(s1).indexOf(s);
        if(i == -1)
            throw new Exception("Item not found");
        HSSFSheet hssfsheet = wb.getSheetAt(getTablesName().indexOf(s1));
        Iterator iterator = hssfsheet.rowIterator();
        int j = 0;
        while(iterator.hasNext()) 
            if(hssfsheet != null)
            {
                HSSFRow hssfrow = (HSSFRow)iterator.next();
                HSSFCell hssfcell = hssfrow.getCell((short)i);
                if(j > 0 && hssfcell != null)
                    pump(vector, hssfcell, getItemType(s, s1));
                j++;
            }
        return vector;
    }

    public Vector getItemsName(String s)
        throws Exception
    {
        Vector vector = new Vector();
        int i = getTablesName().indexOf(s);
        if(i == -1)
            throw new Exception("Table not found");
        HSSFSheet hssfsheet = wb.getSheetAt(i);
        HSSFRow hssfrow = hssfsheet.getRow(0);
        if(hssfrow == null)
            return null;
        Iterator iterator = hssfrow.cellIterator();
        int j;
        for(j = 0; iterator.hasNext(); j++)
        {
            HSSFCell hssfcell = (HSSFCell)iterator.next();
        }

        for(int k = 0; k < j; k++)
        {
            HSSFCell hssfcell1 = hssfrow.getCell((short)k);
            if(isBlankColumn(k, hssfsheet) && hssfcell1 != null)
                removeColumn(k, hssfsheet);
            if(hssfcell1 != null)
                pump(vector, hssfcell1);
        }

        return vector;
    }

    public String getMessage()
    {
        return message + ",文件的格式不符合导入要求,请仔细检查。";
    }

    public int getRowCount(String s)
        throws Exception
    {
        int i = getTablesName().indexOf(s);
        if(i == -1)
            throw new Exception("Table not found");
        HSSFSheet hssfsheet = wb.getSheetAt(i);
        Iterator iterator = hssfsheet.rowIterator();
        int j = 0;
        while(iterator.hasNext()) 
        {
            HSSFRow hssfrow = (HSSFRow)iterator.next();
            if(hssfrow != null)
                j++;
        }
        return j;
    }

    private int getRowCount(HSSFSheet hssfsheet)
    {
        Iterator iterator = hssfsheet.rowIterator();
        int i = 0;
        while(iterator.hasNext()) 
        {
            HSSFRow hssfrow = (HSSFRow)iterator.next();
            if(hssfrow != null)
                i++;
        }
        return i;
    }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -