@Slf4j
public class ExportExcelTemplate {
public static <T> Workbook dealInStockTemplate(String[] headerRow, List<T> inStockDtos, List<ExcelDropDownDto> dropDownDtos) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {
Workbook workbook = new HSSFWorkbook();
//单元格样式 - 锁定
CellStyle alterableStyle = workbook.createCellStyle();
alterableStyle.setLocked(true);
//单元格样式 - 非锁定
CellStyle nolockedStyle = workbook.createCellStyle();
nolockedStyle.setLocked(false);
//单元格样式 - 其他自定义样式
DataFormat dataFormat = workbook.createDataFormat();
CellStyle cellStyle = workbook.createCellStyle();
Sheet sheet = workbook.createSheet("药材模板");
sheet.protectSheet("");
//下拉框
for(ExcelDropDownDto dropDownDto : dropDownDtos){
addValidate2Cell(sheet, dropDownDto.getFirstRow(), dropDownDto.getLastRow(), dropDownDto.getFirstCol(), dropDownDto.getLastCol(), dropDownDto.getValues());
}
//处理表头
Row row = sheet.createRow(0);
Cell cell = null;
for(int i = 0; i < headerRow.length; i++){
cell = row.createCell(i);
cell.setCellValue(headerRow[i]);
cell.setCellStyle(alterableStyle);
}
//处理表数据
T inStockDto = null;
Field[] fields = null;
Field field = null;
for(int i = 1; i <= inStockDtos.size(); i++){
row = sheet.createRow(i);
inStockDto = inStockDtos.get(i-1);
java导出excel(锁定指定列,下拉框)
最新推荐文章于 2024-07-15 10:37:03 发布
