📄 outter.java
字号:
// 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 + -