/**jar 自行引入 excel03 只支持65536
* 根据模板创建excel07方法 该方法只支持表头只有一行 单元格的格式和表头的格式保持一致
* @param <T>
* @param Inpath 输入模板的文件路径
* @param OutPath 输出execel的文件路径
* @param list 写入excel的对象的集合
* @throws FileNotFoundException
*/
public boolean createExcel07ByModel(String Inpath,String OutPath,List<T> list) throws FileNotFoundException{
String[] strs= readExcelTitle(new File(Inpath));//获取模板中第一行所有属性
Field[] fields = model.class.getDeclaredFields();
//判断模板和输入的List对象是否兼容
if( strs.length!=fields.length){
System.out.println("模板不兼容");
return false;
}
XSSFWorkbook xwb=null;
try {
xwb = new XSSFWorkbook(new FileInputStream(Inpath));//
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
XSSFSheet sheet = xwb.getSheet("sheet1");//获取sheet1
for(int i=0 ;i<list.size();i++){
// 自动换行
Object o =list.get(i);
XSSFRow row = sheet.createRow(i+1);
for(int j=0;j<fields.length;j++){ 获取该对象的所有属性
XSSFCell cell = row.createCell(j); 往单元格中插入该对象对应的值
String str="";
try {
str = (String) fields[j].get(o);//获取该对象的属性的值
cell.setCellStyle(style);
cell.setCellValue(str);
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
try {
FileOutputStream os = new FileOutputStream(OutPath);
xwb.write(os);
os.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}// 将文档对象写入文件输出流
// 关闭文件输出流
System.out.println(OutPath+"创建成功");
return true;
}