Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public void createExcel(OutputStream os) {
- try (InputStream is = new ClassPathResource("templates/" + template).getInputStream()) {
- XSSFWorkbook wb = new XSSFWorkbook(is);
- // PoiTransformer transformer =
- // PoiTransformer.createSxssfTransformer(wb);
- XSSFSheet sheet = wb.getSheet("Sheet1");
- int lastRow = wb.getSpreadsheetVersion().getLastRowIndex();
- int sheetIdx = 1;
- for (ValidationRule rule : rules) {
- if (rule.validationDatas.length == 0)
- continue;
- XSSFSheet hidden = wb.createSheet("hidden" + sheetIdx);
- for (int i = 0, length = rule.validationDatas.length; i < length; i++) {
- String name = rule.validationDatas[i];
- Row row = hidden.createRow(i);
- Cell cell = row.createCell(0);
- cell.setCellValue(name);
- }
- XSSFName namedCell = wb.createName();
- namedCell.setNameName("hidden" + sheetIdx);
- namedCell.setRefersToFormula("hidden" + sheetIdx + "!$A$1:$A$" + rule.validationDatas.length);
- XSSFDataValidationHelper dvHelper = new XSSFDataValidationHelper(sheet);
- XSSFDataValidationConstraint constraint = (XSSFDataValidationConstraint) dvHelper
- .createFormulaListConstraint("hidden" + sheetIdx);
- wb.setSheetHidden(sheetIdx++, true);
- createListBox(dvHelper, sheet, rule.start_validation_row, rule.start_validation_col, lastRow,
- rule.validationDatas, constraint);
- }
- wb.write(os);
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement