poi生成excel:
详细参考:Java中使用poi导入、导出Excel点击打开链接
/**
* 每日定时导出美多芭的采购入库
*
* @param inInfo
* @return
* @throws IOException
*/
public EiInfo uploadFtpDaily(EiInfo inInfo) throws IOException {
//创建HSSFWorkbook对象(excel的文档对象)
HSSFWorkbook wb = new HSSFWorkbook();
//建立新的sheet对象(excel的表单)
HSSFSheet sheet=wb.createSheet("采购入库信息");
//在sheet里创建第一行,参数为行索引(excel的行),可以是0~65535之间的任何一个
HSSFRow row1=sheet.createRow(0);
//创建单元格(excel的单元格,参数为列索引,可以是0~255之间的任何一个
HSSFCell cell=row1.createCell(0);
//设置缺省列高
sheet.setDefaultRowHeightInPoints(25);
//设置缺省列宽
sheet.setDefaultColumnWidth(20);
/* //设置指定列的列宽,256 * 50这种写法是因为width参数单位是单个字符的256分之一
sheet.setColumnWidth(cell.getColumnIndex(""), 256 * 50);*/
//设置单元格内容
cell.setCellValue("美多芭采购入库信息表");
//合并单元格CellRangeAddress构造参数依次表示起始行,截至行,起始列, 截至列
sheet.addMergedRegion(new CellRangeAddress(0,0,0,3));
//在sheet里创建第二行
HSSFRow row2=sheet.createRow(1);
//创建单元格并设置单元格内容
row2.createCell(0).setCellValue("入库时间");
row2.createCell(1).setCellValue("供应商代码");
row2.createCell(2).setCellValue("供应商名称");
row2.createCell(3).setCellValue("产品代码");
row2.createCell(4).setCellValue("产品名称");
row2.createCell(5).setCellValue("产品批号");
row2.createCell(6).setCellValue("产品规格");
row2.createCell(7).setCellValue("产品数量");
row2.createCell(8).setCellValue("单位");
row2.createCell(9).setCellValue("单价");
row2.createCell(10).setCellValue("金额");
row2.createCell(11).setCellValue("进货类型");
// row2.createCell(12).setCellValue("供应商出库单号");
row2.createCell(12).setCellValue("生产产商");
Map map = new HashMap();
List<SWRKPutinMDB> list = new ArrayList();
// 获取当前日期startTime
String endTime = DateUtils.curDateStr8();
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DATE, -1); //得到前一天
// 将前一天的日期转成字符串格式
SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMdd");
Date date = calendar.getTime();
String startTime=sdf.format(date);
map.put("startTime",startTime);
map.put("endTime",endTime);
list =dao.query("SWRKPutinM01.queryMDB",map);
for(int i = 0; i < list.size();i++){
//在sheet里循环创建 多行
HSSFRow row = sheet.createRow(i+2);
//对应行的列里面循环塞值
row.createCell(0).setCellValue(list.get(i).getIndate()); //入库日期
row.createCell(1).setCellValue(list.get(i).getSupplierId()); //供应商代码
row.createCell(2).setCellValue(list.get(i).getSupplierName());//供应商名称
row.createCell(3).setCellValue(list.get(i).getItemId());//物料代码
row.createCell(4).setCellValue(list.get(i).getItemDesc());//物料名称
row.createCell(5).setCellValue(list.get(i).getLotNo());//批号
row.createCell(6).setCellValue(list.get(i).getSpec());//规格
row.createCell(7).setCellValue(list.get(i).getQty().toString());//数量
row.createCell(8).setCellValue(list.get(i).getPackageMainUnit());//单位
row.createCell(9).setCellValue(list.get(i).getActPrice().toString());//单价
row.createCell(10).setCellValue(list.get(i).getAmt().toString());//金额
row.createCell(11).setCellValue(list.get(i).getPutinType());//入库类型
row.createCell(12).setCellValue(list.get(i).getProduceFactory());//生产厂家
}
if ("\\".equals(File.separator)){
url = "d:\\workbook.xls";
}
else{
url = Resources.getValue("appAddressConfig","iplat.bssimx.excelUrl");
url = url+DateUtils.curDateTimeStr14()+".xls";
}
//输出Excel文件
FileOutputStream output=new FileOutputStream(url);
wb.write(output);
output.close();
return inInfo;
}