您的位置:首页 > 其它

生活小创意集锦

2011-12-08 21:54 363 查看
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import java.lang.reflect.Method;

public class EduceFile {
/**
* 导出excel 实现通用
*
* @param list
* @param path
*            导出路径
* @param sheetName
*            导出文件名
* @param topNamelist
*            表头
* @param FieldNamelist
*            字段名称
* @return
*/
public boolean writeExcel(List list, String path, String sheetName,
String[] topNamelist, String[] FieldNamelist) {
try {
File fileWrite = new File(path);
fileWrite.createNewFile();
OutputStream os = new FileOutputStream(fileWrite);
WritableWorkbook wwb = Workbook.createWorkbook(os);
WritableSheet ws = wwb.createSheet(sheetName, 0);
// 写入列名称
for (int i = 0; i < topNamelist.length; i++) {
Label label = new Label(i, 0, topNamelist[i].toString());
ws.addCell(label);
}
for (int i = 0; i < list.size(); i++) {
int x = i + 1;
Map map = testReflect(list.get(i));
for (int j = 0; j < FieldNamelist.length; j++) {
if (map.get(FieldNamelist[j]) != null) {
Label labela = new Label(j, x, map
.get(FieldNamelist[j]).toString());
ws.addCell(labela);
} else {
Label labela = new Label(j, x, null);
ws.addCell(labela);
}
}
}
wwb.write();
wwb.close();
os.close();
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}

/**
* 导出.txt
*
* @param list
* @param path
* @return
*/
public String writeTxt(List<String> list, String path) {
try {
FileWriter fw = new FileWriter(path, true);
PrintWriter pw = new PrintWriter(fw);
for (int i = 0; i < list.size(); i++) {
pw.println(list.get(i));
}
pw.close();
fw.close();
return "true";
} catch (Exception e) {
e.printStackTrace();
return "false";
}
}

public static Map testReflect(Object obj) {
Map hashMap = new HashMap();
try {
Class c = obj.getClass();
Method m[] = c.getDeclaredMethods();
for (int i = 0; i < m.length; i++) {
if (m[i].getName().indexOf("get") == 0) {
hashMap
.put(m[i].getName(), m[i]
.invoke(obj, new Object[0]));
}
}
} catch (Throwable e) {
System.err.println(e);
}
return hashMap;
}
}

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: