//新增一行就累加
public static void saveFile(String[] s,String[] h,String sql, File file) {
int count = 0;
// 创建工作薄
HSSFWorkbook hssfWorkbook = new HSSFWorkbook();
// sheet:一张表的简称
// row:表里的行
// 创建工作薄中的工作表 x`
HSSFSheet hssfSheet = hssfWorkbook.createSheet("信息列表");
// 创建行
HSSFRow row = hssfSheet.createRow(0);
// 创建单元格,设置表头 创建列
HSSFCell cell = null;
//便利表头
for (int i = 0; i < s.length; i++) {
//创建传入进来的表头的个数
cell = row.createCell(i);
//表头的值就是传入进来的值
cell.setCellValue(h[i]);
}
//新增一个行就累加
//row = hssfSheet.createRow(++count);
// 得到所有记录 行:列
List<Record> list = Db.find(sql.toString());
Record record = null;
if (list != null) {
//获取所有的记录 有多少条记录就创建多少行
for (int i = 0; i < list.size(); i++) {
row = hssfSheet.createRow(++count);
// 得到所有的行 一个record就代表 一行
record = list.get(i);
//在有所有的记录基础之上,便利传入进来的表头,再创建N行
for (int j = 0; j < s.length; j++) {
cell = row.createCell(j);
if(s[j]=="morning_rate"||s[j]=="afternoon_rate"||s[j]=="today_rate"){
//把每一行的记录再次添加到表头下面 如果为空就为 "" 否则就为值
cell.setCellValue(record.get(s[j])==null?"0%":record.get(s[j]).toString()+"%");
}else if(s[j]=="daily_img"||s[j]=="weekly_img"||s[j]=="monthly_left_img"||s[j]=="monthly_right_img"||s[j]=="write_report_img_left"||s[j]=="write_report_img_right"||s[j]=="avtivity_img"||s[j]=="story_img"||s[j]=="write_img"||s[j]=="daily_img"||s[j]=="daily_img"||s[j]=="daily_img"||s[j]=="daily_img"){
if(record.get(s[j])==null||record.get(s[j]).equals("")){
cell.setCellValue("");
}else{
BosUtils.run();
String url = BosUtils.generatePresignedUrl(record.get(s[j]).toString());
String bosUrl=url.substring(0,url.lastIndexOf("?"));
cell.setCellValue(bosUrl);
}
}else{
cell.setCellValue(record.get(s[j])==null?"":record.get(s[j]).toString());
}
}
}
}
try {
FileOutputStream fileOutputStreane = new FileOutputStream(file);
hssfWorkbook.write(fileOutputStreane);
fileOutputStreane.flush();
fileOutputStreane.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}