README
POI Template Generator Project
What is this repository for?
Quick summary Library project to support Excel creation / reading using POI library
Version 0.0.2
Usage
How to create Excel Template with Java code
package com.anthunt.poi.demo;
import org.apache.poi.ss.usermodel.CellType;
import com.anthunt.poi.template.model.enums.DBDataType;
import com.anthunt.poi.template.model.enums.NumericFormatType;
import com.anthunt.poi.template.model.excel.ExcelSheets;
public class DemoExcelTemplate {
public static ExcelSheets getExcelSheets() {
ExcelSheets excelSheets = new ExcelSheets();
// Sheet setting to exclude reading and writing from the program.
excelSheets.builder().setSheetName("Skip Sheet").setSkipSheet(true).build();
excelSheets.builder()
.setSheetName("TestSheet1") // Sheet name setting at the bottom of Excel
.setSheetTitle("01. Sheet Title") // Set the title to enter the top 2 line of Excel Sheet
.setUseSampleData(true) // Set whether to generate including sample data
.setExplainRowSize(1) // Row size of comments
.setHeaderRowSize(2) // Row size of header
.addExcelColumn() // Add column information
.addHeaderColumn() // Add header column information of the column
.setValue("Name") // Header column value setting
// Add Excel cell notes
.setComment("set name")
.setRowMergeSize(2) // Header cell merge settings
.and()
.addExplainColumn() // Column Description Add column information
.setValue("-Cell Format (General) \ n-Business Participant Name (Required)") // Setting Description Value
.and()
.setRequired(true) // Required column setting-In case of required column, * is displayed above the header name.
.setCellType(CellType.STRING) // Column type setting
.setSampleValue("Hong Gil Dong") // Setting column sample values
.addDBColumn() // DB column mapping information setting
.setTableName("TABLE_NAME1") // Mapping table name setting
.setColumnName("COLUMN1") // Mapping column name setting
.setDataType(DBDataType.STRING) // Mapping column data type setting
.and()
.and()
.addExcelColumn()
.addHeaderColumn()
.setValue("Category 2")
.setComment("Listed as Full-time / contracted")
.setRowMergeSize(2)
.and()
.setRequired(true)
.setCellType(CellType.STRING)
.setDataExplicits(new String[]{"Full-time", "contracted"}) // Set combo box selection value
.setSampleValue("Full-time")
.addDBColumn()
.setTableName("TABLE_NAME1")
.setColumnName("COLUMN5")
.setDataType(DBDataType.STRING)
.and()
.and()
.addExcelColumn()
.addHeaderColumn()
.setValue("Payroll")
.setCellMergeSize(15) // Header column cell merge settings
.setSkipRequired(true) // Whether to omit the * mark in the header column if it is a required column
.and()
.addHeaderColumn()
.setValue("Category 3")
.and()
.setRequired(true)
.setCellType(CellType.STRING)
.setDataExplicits(new String[]{"salary", "Bonus"})
.setSampleValue("salary")
.addDBColumn()
.setTableName("TABLE_NAME1")
.setColumnName("COLUMN6")
.setDataType(DBDataType.STRING)
.and()
.and()
~~~~~~~~~~~~~~~~~~~~~~~~~~~ Shorten ~~~~~~~~~~~~~~~~~~~~~~~~~~~
.addExcelColumn()
.addHeaderColumn()
.setValue("")
.and()
.addHeaderColumn()
.setValue("Sub Total")
.and()
.setRequired(false)
.setCellType(CellType.FORMULA)
.setNumericFormatType(NumericFormatType.INTEGER) // In the case of a numeric format column, set the numeric format type
.setColumnFormula("SUM({COL8}{ROW}:{COL19}{ROW})") // If it is a formula column, set the formula expression
.and()
.addExcelColumn()
.addHeaderColumn()
.setValue("Summary")
.setRowMergeSize(2)
.and()
.setRequired(false)
.setCellType(CellType.STRING)
.setSampleValue("Summary")
.addDBColumn()
.setTableName("TABLE_NAME1")
.setColumnName("COLUMN10")
.setDataType(DBDataType.STRING)
.and()
.and()
.build();
return excelSheets;
}
}Creating Excel file
Generating Excel file containing data
Reading Excel file data
Database access object class to use database meta information
XML query against metadata in the database
Creating Excel template file using DB meta information
Creating Excel using DB metadata and creating data including DB data
Reading Excel file that fits DB metadata form and saving it in DB
Last updated