Apache POI在生成excel文件方面比其他工具较为强大,把在项目中用到的东西记录下来。由于之前没有用过poi,所以期间耗费了一些时间收集资料和看api。在此特地记录下来,希望能帮助你。
在这里只指出关键点,完整源码请根据下方提供的git地址查看。
本文示例使用poi版本: poi-3.10-FINAL-20140208 。
先把下拉框数据写入隐藏sheet页中,写的同时进行下拉数据与所要级联的下拉数据进行“名称”映射(注意:excel“名称”不能以数字开头,且不能包含特殊字符)
/**
* 初始化仓库&货架下拉框数据
*
* @param workbook
* @param wsSheet
* @param warehouses
* @param warehousesAndShelves
*/
private static void initWarehousesAndShelves(HSSFWorkbook workbook, HSSFSheet wsSheet, List warehouses, Map> warehousesAndShelves) {
writeWarehouses(workbook, wsSheet, warehouses);
writeShelves(workbook, wsSheet, warehouses, warehousesAndShelves);
initWarehouseNameMapping(workbook, wsSheet.getSheetName(), warehouses.size());
}
/**
* 生成下拉框之前的准备:根据公式生成下