Passing multiple model in ModelAndView and Iterating those models - java

I have a requirement where I have to write HSSfWorkbook with multiple HSSfSheets.
For first sheet I have different columns and second sheet has different set of columns. For each sheet I have different stored procedure written.
Currently my java code is written in a way which can handle only one stored procedure data. I want to modify it and call second stored procedure to populate data in second sheet. I am setting the excel bean data in ModelAndView object and building the document. Now my question is how to fetch the each model and write it in HSSfSheet? Like in controller I am setting two beans in map downloadExcelBean and downloadExcelBean2. I want to write downloadExcelBean in first sheet and downloadExcelBean2 in second sheet. Please suggest.
My controller function is as below.
public ModelAndView exportToExcel(String fileName1, String filename2,String sheetname1,String sheetName2,
String[] headerLabels1, String[] headerLabels2,int[] datatypeArray1,int[] datatypeArray2, String procString1,String procString2,
Object[] objarray, HttpServletRequest arg0,
HttpServletResponse arg1, String[] dbColumnNameArray1,String[] dbColumnNameArray2)
throws Exception {
Log.info(DownloadExcelController.class,
"Execution Starts..exportExcel()");
Map<String, DownloadExcelBean> downloadExcelBean = new HashMap<String, DownloadExcelBean>();
//System.out.println(" in export excel part....."+procString+":::"+datatypeArray);
List<List> workLists1 = downloadExcelService.storedProcedureToExcel(
datatypeArray1, procString1, objarray, dbColumnNameArray1);
List<List> workLists2 = downloadExcelService.storedProcedureToExcel(
datatypeArray2, procString2, objarray, dbColumnNameArray2);
DownloadExcelBean bean = new DownloadExcelBean();
bean.setFilename(fileName1);
bean.setSheetname(sheetname1);
bean.setHeaderArray(headerLabels1);
bean.setDatatypeArray(datatypeArray1);
// bean.setVisibleArray(visibleArray);
bean.setData(workLists1);
DownloadExcelBean bean2 = new DownloadExcelBean();
bean2.setFilename(filename2);
bean2.setSheetname(sheetName2);
bean2.setHeaderArray(headerLabels2);
bean2.setDatatypeArray(datatypeArray2);
bean2.setData(workLists2);
downloadExcelBean.put("downloadExcelBean", bean);
downloadExcelBean.put("downloadExcelBean2", bean2);
return new ModelAndView("DownloadExcelView", "model",
downloadExcelBean);
}
And in DownloadExcelView.java I have build excel document function
protected void buildExcelDocument(Map model, HSSFWorkbook workbook,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
Log.info(DownloadExcelView.class,
"Execution starts....buildExcelDocument()");
response.setHeader("Content-Type", "application/vnd.ms-excel");
Map<String, DownloadExcelBean> exceldownload = (Map<String, DownloadExcelBean>) model.get("model");
for (Map.Entry<String, DownloadExcelBean> mapobject : exceldownload.entrySet())
{
DownloadExcelBean obj = (DownloadExcelBean) mapobject.getValue();
String filename = obj.getFilename(); // File name
String sheetname = obj.getSheetname(); // sheet Name
String headerlist[] = obj.getHeaderArray(); // header names
int dataTypeArray[] = obj.getDatatypeArray();
List resultsetValues = obj.getData();
response.setHeader("Content-Disposition", "attachment; filename="
+ filename + ".xls");
HSSFSheet sheet = workbook.createSheet(sheetname); // create a sheet
HSSFSheet sheet1 = workbook.createSheet("Second tab");
HSSFCellStyle cellStyle = setHeaderStyle(workbook); // Apply bold
// for header
HSSFRow header = sheet1.createRow(0); // create a header row
DateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy");
short decimalDataformat = workbook.createDataFormat().getFormat(
"#,###,##0.00");
HSSFCellStyle decimalCellStyle = workbook.createCellStyle();
decimalCellStyle.setDataFormat(decimalDataformat);
HSSFCellStyle wrapStyle = workbook.createCellStyle();
wrapStyle.setWrapText(true);
int visibleCol = -1;
for (int i = 0; i < headerlist.length; i++) {
visibleCol++;
HSSFCell cell = header.createCell(visibleCol);
cell.setCellStyle(cellStyle);
cell.setCellValue(headerlist[i].replace("<br/>", ARConstants.EXPORT_CRLF));
}
// Excel cell values
HSSFRow hssfrow;
HSSFCell cell;
for (int row = 0; row < resultsetValues.size(); row++) {
List rowList = (ArrayList) resultsetValues.get(row);
hssfrow = sheet1.createRow(row + 1);
visibleCol = -1;
for (int col = 0; col < rowList.size(); col++) {
// if(visibleArray[col]){
visibleCol++;
cell = hssfrow.createCell(visibleCol);
if (dataTypeArray[col] == java.sql.Types.DECIMAL) {
cell.setCellType(HSSFCell.CELL_TYPE_NUMERIC);
cell.setCellStyle(decimalCellStyle);
if (rowList.get(col) != null)
cell.setCellValue((Double) rowList.get(col));
else
cell.setCellValue("");
} else if (dataTypeArray[col] == java.sql.Types.DATE) {
if (rowList.get(col) != null)
cell.setCellValue(dateFormat.format(rowList
.get(col)));
else
cell.setCellValue("");
}
else if (dataTypeArray[col] == java.sql.Types.TIMESTAMP) {
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setCellStyle(wrapStyle);
if (rowList.get(col) != null)
cell.setCellValue(StringUtils.dateToUSFormatDateTimeTillMins(rowList.get(col).toString())
.replace(" ", ARConstants.EXPORT_CRLF));
else
cell.setCellValue("");
}
else if (dataTypeArray[col] == java.sql.Types.OTHER)
{
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setCellStyle(wrapStyle);
String crlf = Character.toString((char) 13)
+ Character.toString((char) 10);
if (rowList.get(col) != null)
{
String str=(rowList.get(col).toString()).replaceAll("\t"," ");
if((str.replace("|", crlf)).length()> 32767)
cell.setCellValue((str.replace("|", crlf)).substring(0,32766));
else
cell.setCellValue(str.replace("|", crlf));
}
else
cell.setCellValue("");
}
else
{
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
if (rowList.get(col) != null)
{
String str=(rowList.get(col).toString()).replaceAll("\t"," ");
if(str.length() > 32767)
{
cell.setCellValue(str.substring(0,32766));
}
else
{
cell.setCellValue(str);
}
}
else
cell.setCellValue("");
}
// sheet.autoSizeColumn(col);
}
}
}
Log.info(DownloadExcelView.class,
"Execution ends....buildExcelDocument()");
}

Related

filter a column in excel to specific word using java code

I have an Excel file which needs filtering on a specific column.
String fileName = "filepath";
String cellContent = "Automation";
int rownr = 0;
int colnr = 0; //column from which you need data to store in array list
InputStream input = new FileInputStream(fileName);
XSSFWorkbook wb = new XSSFWorkbook(input);
XSSFSheet sheet = wb.getSheetAt(0);
List filteredCol = new ArrayList();
filteredCol = findRow(sheet, cellContent);
if (filteredCol != null) {
for (Iterator iter = filteredCol.iterator(); iter.hasNext(); ) {
System.out.println(iter.next());
}
}
private static List findRow(HSSFSheet sheet, String cellContent) {
List filter=new ArrayList();
for (Row row : sheet) {
for (Cell cell : row) {
if (cell.getCellType() == Cell.CELL_TYPE_STRING) {
if (cell.getRichStringCellValue().getString().trim().equals(cellContent)) {
//System.out.println("Row numbers are"+row.getRowNum());
int rownumber=row.getRowNum();
//return row.getRowNum();
XSSFRow row1 = sheet.getRow(rownumber);
XSSFCell cell1 = row1.getCell(0);
filter.add(cell1);
}
}
}
}
return filter;
}
I am getting number format exception on this codeline:
"cell.getRichStringCellValue().getString().trim().equals(cellContent)"

Apache poi + Java: Write to a worksheet without deleting existing data

I need to check if the worksheet exists.
If it exists, you must type in the next existing row and do not create a new worksheet.
You are currently deleting the current spreadsheet and I always get only 1 line written in the spreadsheet.
How do I solve this?
public class ApachePOIExcelWrite {
private static final String FILE_NAME = "c:/viagem.xlsx";
XSSFWorkbook workbook = new XSSFWorkbook();
//name Sheet
XSSFSheet sheet = workbook.createSheet("Viagem");
Object[][] datatypes = {
//head colums
{
"Destino",
"Valor por pessoa",
"Aeroporto",
"Hotel",
"data Pesquisa",
"Hora Pesquisa"
},
{
destino,
pega_valor,
aeroporto.replace("GRU", "Guarulhos").replace("CGH", "Congonhas"),
hotel.replaceAll("Pontos", "Estrelas"),
data_da_pesquisa.format(d),
hora_da_pesquisa.format(d)
}
};
int rowNum = 0;
System.out.println("Creating excel");
for (Object[] datatype: datatypes) {
Row row = sheet.createRow(rowNum++);
int colNum = 0;
for (Object field: datatype) {
Cell cell = row.createCell(colNum++);
if (field instanceof String) {
cell.setCellValue((String) field);
} else if (field instanceof Integer) {
cell.setCellValue((Integer) field);
}
}
}
try {
FileOutputStream outputStream = new FileOutputStream(FILE_NAME);
workbook.write(outputStream);
workbook.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
/**
* Opens an existing sheet or creates a new one if the given sheet name doesn't exist.
* Appends values after the last existing row.
*/
public static void main(String[] args) throws IOException {
XSSFWorkbook workbook = new XSSFWorkbook("C:\\Users\\Administrator\\Desktop\\test.xlsx");
Sheet sheet = workbook.getSheet("Sheet1");
if (sheet == null)
sheet = workbook.createSheet("Sheet1");
Object[][] values = {{"A2", "B2", "C2"}, {"A3","B3","C3","D3"}};
int initRow = sheet.getLastRowNum() + 1;
int initCol = 0;
for (int i = 0; i < values.length; i++) {
Object[] rowValues = values[i];
for (int j = 0; j < rowValues.length; j++) {
Object value = rowValues[j];
writeValueToCell(value, initRow + i, initCol + j, sheet);
}
}
try {
FileOutputStream fos = new FileOutputStream("C:\\Users\\Administrator\\Desktop\\output.xlsx");
workbook.write(fos);
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void writeValueToCell(Object value, int rowIdx, int colIdx, Sheet sheet) {
Row row = sheet.getRow(rowIdx);
Cell cell;
if (row == null) {
cell = sheet.createRow(rowIdx).createCell(colIdx);
} else {
cell = row.getCell(colIdx);
if (cell == null)
cell = row.createCell(colIdx);
}
if (value == null)
cell.setCellType(Cell.CELL_TYPE_BLANK);
else if (value instanceof String)
cell.setCellValue(value.toString());
else if (value instanceof Integer)
cell.setCellValue((Integer) value);
else if (value instanceof Double)
cell.setCellValue((Double) value);
else if (value instanceof Date) {
cell.setCellValue((Date) value);
CellStyle style = sheet.getWorkbook().createCellStyle();
style.setDataFormat(sheet.getWorkbook().getCreationHelper().createDataFormat().getFormat(("yyyy/m/d")));
cell.setCellStyle(style);
} else {
cell.setCellValue("Unknown type");
}
}

poi java code to merge cells based on common data

I have data in the above format in an excel file , I want to edit it as follows:
I have used the following code :
public void editExcelTemplate() throws FileNotFoundException, IOException
{
InputStream ExcelFileToRead = new FileInputStream("file.xls");
XSSFWorkbook wb = new XSSFWorkbook(ExcelFileToRead);
XSSFSheet sheet = wb.getSheetAt(0);
int rows = sheet.getPhysicalNumberOfRows();
String cmp = "none";
for(int i=0;i<rows;i++)
{
Row row = sheet.getRow(i);
int col =row.getPhysicalNumberOfCells();
int colIndex = 1;
int v=0;
for(int j=0;j<col;j++)
{
String content = row.getCell(j).getStringCellValue();
if(!(content == cmp) && !(content.equals("none")))
{
if(!(cmp.equals("none")))
{
System.out.println("content: "+content);
System.out.println("cmp: "+cmp);
v= j;
System.out.println("row : "+i+"colst : "+(colIndex)+"colend : "+v);
if(!( v-colIndex == 0) && v>0)
{
System.out.println("row : "+i+"colst : "+(colIndex)+"colend : "+v);
sheet.addMergedRegion(new CellRangeAddress(i,i,colIndex-1,v-1));
System.out.println("merged");
}
}
}
if(!(content == cmp))
{
colIndex = v+1;
}
cmp = content;
}
}
FileOutputStream excelOutputStream = new FileOutputStream(
"file.xls");
wb.write(excelOutputStream);
excelOutputStream.close();
}
I endedup getting the following output :
Can anybody help me get an appropriate output ? The main purpose is to merge the cells with common data in the entire proces.

XLSX excel (POI Java). No data appear on row and column

Here's my code:
try {
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
response.setHeader("Content-Disposition", "attachment; filename="
+ ReportID + ".xlsx");
String excelFileName = "C:\\Test.xlsx";
XSSFWorkbook w = new XSSFWorkbook();
System.out.println("w: " + w);
XSSFSheet s = w.createSheet(ReportID);
System.out.println("s: " + s);
// Report Title
s.createRow(0).createCell(0).setCellValue(Title);
System.out.println("Title: " + Title);
// Populate the worksheet
int _col_cnt = HeadersLabel.length;
XSSFRow row = s.createRow(_col_cnt);
System.out.println("HeadersLabel: " + _col_cnt);
for (int c = 0; c < _col_cnt; c++) {
// Construct the header row
String _h = HeadersLabel[c];
System.out.println("_h: " + _h);
//XSSFRow row = s.createRow(0);
if (_h != null) {
XSSFCell hd = row.createCell(c);
hd.setCellValue(_h);
}
int r = 5;
for (Iterator iter = Cells.iterator(); iter.hasNext();) {
Object[] _o = (Object[]) iter.next();
XSSFRow rowData = s.createRow(r);
XSSFCell data = rowData.createCell(c);
if (CellDataType[c].equals("STRING")
|| CellDataType[c].equals("VARCHAR")) {
String _l = (String) _o[c];
if (_l != null) {
// Label label = new Label(c, r, (String) _o[c]);
//XSSFCell data = rowData.createCell(c);
data.setCellValue(_l);
}
} else if (CellDataType[c].equals("DOUBLE")) {
Double _D = (Double) _o[c];
if (_D != null) {
// Number number = new Number(c, r,
// _D.doubleValue());
// s.addCell(number);
//XSSFCell data = rowData.createCell(c);
data.setCellValue(_D);
}
} else if (CellDataType[c].equals("INTEGER")) {
Integer _I = (Integer) _o[c];
if (_I != null) {
// Number number = new Number(c, r,
// _I.doubleValue());
// s.addCell(number);
//XSSFCell data = rowData.createCell(c);
data.setCellValue(_I);
}
} else if (CellDataType[c].equals("DATE")) {
Date _aDate = (Date) _o[c];
if (_aDate != null) {
// DateTime dateCell = new DateTime(c, r, _aDate,
// dateFormat);
// s.addCell(dateCell);
//XSSFCell data = rowData.createCell(c);
data.setCellValue(_aDate);
}
} else if (CellDataType[c].equals("TIMESTAMP")) {
Timestamp _aTimestamp = (Timestamp) _o[c];
Date _aDate = Timestamp2Date(_aTimestamp);
if (_aDate != null) {
// DateTime dateCell = new DateTime(c, r, _aDate,
// dateFormat);
// s.addCell(dateCell);
//XSSFCell data = rowData.createCell(c);
data.setCellValue(_aDate);
}
}
The XLSX excel did not manage to capture some data. The first two column is empty but there's suppose to be data appearing. Only the third column has the data.
What it looks like now: https://www.dropbox.com/s/2vfxsootyln6qq5/Capture3.JPG
What it suppose to be like: https://www.dropbox.com/s/d0yctgk4pywh140/Capture2.JPG
When you are writing the cell content, for each cell iteration, you are creating new row, which actually removing your previous row, and so at the end, you are getting data on your last cell only. Following is your code.
for (Iterator iter = Cells.iterator(); iter.hasNext();) {
Object[] _o = (Object[]) iter.next();
XSSFRow rowData = s.createRow(r);
s.createRow(0).createCell(0).setCellValue(Title);
You need to call create row just once for each row before entering in this loop. Once the row is created you just need to create column, and that must be for each column of that row It should be like following.
XSSFRow rowData = s.createRow(r);
for (Iterator iter = Cells.iterator(); iter.hasNext();) {
Object[] _o = (Object[]) iter.next();
rowData..createCell(0).setCellValue(Title);
Please note it is my first reflection on your code, and I have not tried the same on my system. So just take it as a hint and correct the same wherever required and then check again.

How to add a new sheet into an existing xls file

I need to add a new sheet with different methods and headers within the same workbook. I'm able to add the new sheet but how do add the separate methods and headers for the second sheet? Right now both sheets are duplicate copies. Basically How would I add different data to both sheets. Any help would be appreciated and I always accept the answers and also up vote.
public class ExcelWriter {
Logger log = Logger.getLogger(ExcelWriter.class.getName());
private HSSFWorkbook excel;
public ExcelWriter() {
excel = new HSSFWorkbook();
}
public HSSFWorkbook getWorkbook() {
return excel;
}
public void writeExcelFile(String filename, String[] columns, Object[][] data, HSSFCellStyle[] styles,
HSSFCellStyle columnsStyle, String[] header, String[] footer) throws IOException {
FileOutputStream out = new FileOutputStream(filename);
HSSFSheet sheet = excel.createSheet("Daily Screening");
HSSFSheet sheet1 = excel.createSheet("Parcel Return");
int numHeaderRows = header.length;
createHeader(sheet,header,columns.length, 0);
createHeader(sheet1,header,columns.length, 0);
createColumnHeaderRow(sheet,columns,numHeaderRows,columnsStyle);
createColumnHeaderRow(sheet1,columns,numHeaderRows,columnsStyle);
int rowCtr = numHeaderRows;
for( int i = 0; i < data.length; i++) {
if (i > data.length -2)
++rowCtr;
else
rowCtr = rowCtr + 2;
createRow(sheet, data[i], rowCtr, styles);
}
int rowCtr1 = numHeaderRows;
for( int i = 0; i < data.length; i++) {
if (i > data.length -2)
++rowCtr1;
else
rowCtr1 = rowCtr1 + 2;
createRow(sheet1, data[i], rowCtr1, styles);
}
int totalRows = rowCtr1 + 1;
createHeader(sheet1,footer,columns.length, totalRows);
excel.write(out);
out.close();
}
private void createHeader(HSSFSheet sheet1, String[] header, int columns, int rowNum) {
for( int i = 0; i < header.length ; i++ ) {
HSSFRow row = sheet1.createRow(i + rowNum);
HSSFCell cell = row.createCell((short) 0);
String text = header[i];
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setCellValue(text);
HSSFCellStyle style = excel.createCellStyle();
style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
HSSFFont arialBoldFont = excel.createFont();
arialBoldFont.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
arialBoldFont.setFontName("Arial");
style.setFont(arialBoldFont);
if (!isEmpty(header[i]) && rowNum < 1) {
style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
style.setFillForegroundColor(HSSFColor.GREY_25_PERCENT.index);
}
cell.setCellStyle(style);
sheet1.addMergedRegion( new Region(i+rowNum,(short)0,i+rowNum,(short)(columns-1)) );
}
}
private HSSFRow createColumnHeaderRow(HSSFSheet sheet, Object[] values, int rowNum, HSSFCellStyle style) {
HSSFCellStyle[] styles = new HSSFCellStyle[values.length];
for( int i = 0; i < values.length; i++ ) {
styles[i] = style;
}
return createRow(sheet,values,rowNum,styles);
}
private HSSFRow createRow(HSSFSheet sheet1, Object[] values, int rowNum, HSSFCellStyle[] styles) {
HSSFRow row = sheet1.createRow(rowNum);
for( int i = 0; i < values.length; i++ ) {
HSSFCell cell = row.createCell((short) i);
cell.setCellStyle(styles[i]);
try{
Object o = values[i];
if( o instanceof String ) {
String text = String.valueOf(o);
cell.setCellValue(text);
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
}
else if (o instanceof Double) {
Double d = (Double) o;
cell.setCellValue(d.doubleValue());
cell.setCellType(HSSFCell.CELL_TYPE_NUMERIC);
}
else if (o instanceof Integer) {
Integer in = (Integer)o;
cell.setCellValue(in.intValue());
}
else if (o instanceof Long) {
Long l = (Long)o;
cell.setCellValue(l.longValue());
cell.setCellType(HSSFCell.CELL_TYPE_NUMERIC);
}
else if( o != null ) {
String text = String.valueOf(o);
cell.setCellValue(text);
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
}
}
catch(Exception e) {
log.error(e.getMessage());
}
}
return row;
}
public boolean isEmpty(String str) {
if(str.equals(null) || str.equals(""))
return true;
else
return false;
}
}
Report Generator Class
public class SummaryReportGenerator extends ReportGenerator {
Logger log = Logger.getLogger(SummaryReportGenerator.class.getName());
public SummaryReportGenerator(String reportDir, String filename) {
super( reportDir + filename + ".xls", reportDir + filename + ".pdf");
}
public String[] getColumnNames() {
String[] columnNames = {"ISC\nCode", "Total\nParcels", "Total\nParcel Hit\n Count",
"Filter Hit\n%", "Unanalyzed\nCount", "Unanalyzed\n%",
"Name\nMatch\nCount", "Name\nMatch\n%", "Pended\nCount",
"Pended\n%", "E 1 Sanction\nCountries\nCount", "E 1 Sanction\nCountries\n%", "Greater\nthat\n$2500\nCount", "Greater\nthat\n$2500\n%",
"YTD\nTotal Hit\nCount", "YTD\nLong Term\nPending", "YTD\nLong Term\n%"};
return columnNames;
}
public HSSFCellStyle getColumnsStyle(HSSFWorkbook wrkbk) {
HSSFCellStyle style = wrkbk.createCellStyle();
style.setWrapText(true);
style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
HSSFFont timesBoldFont = wrkbk.createFont();
timesBoldFont.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
timesBoldFont.setFontName("Times New Roman");
style.setFont(timesBoldFont);
return style;
}
public Object[][] getData(Map map) {
int rows = map.size();// + 1 + // 1 blank row 1; // 1 row for the grand total;
int cols = getColumnNames().length;
Object[][] data = new Object[rows][cols];
int row = 0;
for (int i=0; i < map.size(); i++ ){
try{
SummaryBean bean = (SummaryBean)map.get(new Integer(i));
data[row][0] = bean.getIscCode();
data[row][1] = new Long(bean.getTotalParcelCtr());
data[row][2] = new Integer(bean.getTotalFilterHitCtr());
data[row][3] = bean.getFilterHitPrctg();
data[row][4] = new Integer(bean.getPendedHitCtr());
data[row][5] = bean.getPendedHitPrctg();
data[row][6] = new Integer(bean.getTrueHitCtr());
data[row][7] = new Integer(bean.getRetiredHitCtr());
data[row][8] = new Integer(bean.getSanctCntryCtr());
data[row][9] = new Integer(bean.getC25Ctr());
data[row][10] = new Integer(bean.getCnmCtr());
data[row][11] = new Integer(bean.getCndCtr());
data[row][12] = new Integer(bean.getCnlCtr());
data[row][13] = new Integer(bean.getCneCtr());
data[row][14] = new Integer(bean.getVndCtr());
data[row][15] = new Integer(bean.getCilCtr());
data[row][16] = new Integer(bean.getHndCtr());
data[row][17] = new Integer(bean.getCnrCtr());
++row;
}
catch(Exception e) {
log.error(e.getMessage());
}
}
return data;
}
public String[] getHeader(String startDate, String endDate) {
Date today = new Date();
String reportDateFormat = Utils.formatDateTime(today, "MM/dd/yyyyHH.mm.ss");
String nowStr = Utils.now(reportDateFormat);
String[] header = {"","EXCS Daily Screening Summary Report ","",
"for transactions processed for the calendar date range",
"from " + startDate + " to " + endDate,
"Report created on " + nowStr.substring(0,10)+ " at "
+ nowStr.substring(10)};
return header;
}
public HSSFCellStyle[] getStyles(HSSFWorkbook wrkbk) {
int columnSize = getColumnNames().length;
HSSFCellStyle[] styles = new HSSFCellStyle[columnSize];
HSSFDataFormat format = wrkbk.createDataFormat();
for (int i=0; i < columnSize; i++){
styles[i] = wrkbk.createCellStyle();
if (i == 0){
styles[i].setAlignment(HSSFCellStyle.ALIGN_LEFT);
}else{
styles[i].setAlignment(HSSFCellStyle.ALIGN_RIGHT);
}
if (i == 1 || i == 2){
styles[i].setDataFormat(format.getFormat("#,###,##0"));
}
HSSFFont timesFont = wrkbk.createFont();
timesFont.setFontName("Times New Roman");
styles[i].setFont(timesFont);
}
return styles;
}
public String[] getFooter() {
String[] header = {"","Parcel Return Reason Code Reference","",
"DPM = Sender and/or recipient matches denied party",
"HND = Humanitarian exception not declared",
"CNM = Content not mailable under export laws",
"VND = Value of content not declared",
"CNR = Customer non-response",
"C25 = Content Value greater than $2500",
"CIL = Invalid license",
"C30 = More than one parcel in a calendar month",
"CNL = Content description not legible",
"CNE = Address on mailpiece not in English",
"RFN = Requires full sender and addressee names",
"DGS = Dangerous goods",
"R29 = RE-used 2976 or 2976A",
"ANE = PS Form 2976 or 2976A not in English",
"ICF = Incorrect Customs Declaration Form used",
"DPR = Declaration of purpose required",
"ITN = Internal Transaction Number (ITN), Export Exception/Exclusion Legend (ELL), or Proof of Filing Citation (PFC) is required",
"OTH = Other","",};
return header;
}
}
what you need is
HSSFSheet sheet = parentworkbookname.createSheet("Sample sheet2");

Categories