seven.util.ExcelTool Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of ExcelReads Show documentation
Show all versions of ExcelReads Show documentation
A ExcelReads Utils By Seven
package seven.util;
//=======================================================
// .----.
// _.'__ `.
// .--(^)(^^)---/!\
// .' @ /!!!\
// : , !!!!
// `-..__.-' _.-\!!!/
// `;_: `"'
// .'"""""`.
// /, ya ,\\
// //狗神保佑\\
// `-._______.-'
// ___`. | .'___
// (______|______)
//=======================================================
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.Closeable;
import java.io.File;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
/**
* [Zhihu]https://www.zhihu.com/people/Sweets07
* [Github]https://github.com/MatrixSeven
* Created by seven on 2016/11/30.
*/
public class ExcelTool {
private ExcelTool() {
}
public static final Workbook newInstance(String type, boolean isSave) throws Exception {
File f = new File(type);
if (isSave) {
if (type.equals("xls")) {
return new HSSFWorkbook();
}
return new XSSFWorkbook();
}
if (!f.isFile()) {
throw new Exception("请填写正确路径");
}
type = type.substring(type.lastIndexOf(".") + 1);
if (type.equals("xls")) {
return new HSSFWorkbook(new POIFSFileSystem(f));
}
return new XSSFWorkbook(f);
}
public static void Close(Closeable... close)throws Exception{
try {
for(Closeable closeable:close){
if(closeable!=null){
closeable.close();
}
}
}catch (Exception e){
throw new Exception("关闭流出错");
}
}
public static Field[] GetFilesDeep(Class t) {
if (!t.getSuperclass().equals(Object.class)) {
Field[] fieldSu = GetFilesDeep(t.getSuperclass());
Field[] fieldSe = t.getDeclaredFields();
Field[] field = new Field[fieldSe.length + fieldSu.length];
System.arraycopy(fieldSe, 0, field, 0, fieldSe.length);
System.arraycopy(fieldSu, 0, field, fieldSe.length, fieldSu.length);
return field;
}
return t.getDeclaredFields();
}
public static final Method[] GetMethodDeep(Class t) {
if (!t.getSuperclass().equals(Object.class)) {
Method[] MethodSu = GetMethodDeep(t.getSuperclass());
Method[] MethodSe = t.getDeclaredMethods();
Method[] Method = new Method[MethodSe.length + MethodSu.length];
System.arraycopy(MethodSe, 0, Method, 0, MethodSe.length);
System.arraycopy(MethodSu, 0, Method, MethodSe.length, MethodSu.length);
return Method;
}
return t.getDeclaredMethods();
}
}