package com.tmg.commons.excel;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
public class ExportExcelUtil {
/**
* 导出Excel
* @param sheetName sheet名称
* @param title 标题
* @param values 内容
* @param wb HSSFWorkbook对象
* @return
*/
public static HSSFWorkbook getHSSFWorkbook(String sheetName,String []title,String [][]values, HSSFWorkbook wb){
// 第一步,创建一个HSSFWorkbook,对应一个Excel文件
if(wb == null){
wb = new HSSFWorkbook();
}
// 第二步,在workbook中添加一个sheet,对应Excel文件中的sheet
HSSFSheet sheet = wb.createSheet(sheetName);
// 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制
HSSFRow row = sheet.createRow(0);
// 第四步,创建单元格,并设置值表头 设置表头居中
HSSFCellStyle style = wb.createCellStyle();
style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 创建一个居中格式
//声明列对象
HSSFCell cell = null;
//创建标题
for(int i=0;i<title.length;i++){
cell = row.createCell(i);
cell.setCellValue(title[i]);
cell.setCellStyle(style);
}
//创建内容
for(int i=0;i<values.length;i++){
row = sheet.createRow(i + 1);
for(int j=0;j<values[i].length;j++){
//将内容按顺序赋给对应的列对象
row.createCell(j).setCellValue(values[i][j]);
}
}
return wb;
}
public String test(List<Object> data) {
String[] title = {"ID","名称","型号","方案ID","方案"};
//sheet名
String sheetName = "表";
int l = data.size();
String [][] content = new String[l][];
for (int i = 0; i < data.size(); i++) {
content[i] = new String[title.length];
SMTemplatePriceExportInfo obj = data.get(i);
if(obj.getTemplateId() != null){
content[i][0] = obj.getTemplateId().toString();
}else{
content[i][0] ="";
}
content[i][1] = obj.getTemplateName();
content[i][2] = obj.getDeviceName();
if(obj.getSolutionId() != null ){
content[i][3] = obj.getSolutionId().toString();
}else{
content[i][3] ="";
}
content[i][4] = obj.getFixMethod();
}
//创建HSSFWorkbook
HSSFWorkbook wb = ExportExcelUtil.getHSSFWorkbook(sheetName, title, content, null);
String fileName = "t" + System.currentTimeMillis() + ".xls";
String csvFilePath = "D:\\tmp\\" + fileName;
String baseDir = Constant.getConfig("downloadFileRootPath");
//String substring = baseDir.substring(baseDir.lastIndexOf("/download"));
String s = baseDir + "templateExport";
String csvFilePath="";
File dirFile = new File(s);
if(!dirFile.exists()){
dirFile.mkdir();
csvFilePath=baseDir + "templateExport" + "/" + fileName;
}else{
csvFilePath=baseDir + "templateExport" + "/" + fileName;
}
String rs_host = settingsService.getFromCache(RS_HOST_KEY);
String substring = csvFilePath.substring(csvFilePath.lastIndexOf("/download"));
String csvFilePathNew = rs_host + substring;
}
}
POI数据生成excel
最新推荐文章于 2024-05-07 15:35:31 发布