hi have anyone export data to excell using  XSSFWorkbook

 

am having error javax.el.ELException: java.lang.OutOfMemoryError: Java heap space now i what to modify my code to BigGridDemo.java

 

http://www.docjar.org/html/api/org/apache/poi/xssf/usermodel/examples/BigGridDemo.java.html

 

http://apache-poi.1045710.n5.nabble.com/HSSF-and-XSSF-memory-usage-some-numbers-td4312784.html

 

how can i modify my code to BigGridDemo.java

 

this is my code

import com.bea.common.security.xacml.context.Result;

 

import com.sun.jmx.snmp.Timestamp;

 

import java.io.FileNotFoundException;

import java.io.IOException;

import java.io.OutputStream;

 

import java.util.HashMap;

import java.util.Iterator;

import java.util.Map;

import org.apache.poi.ss.usermodel.*;

import javax.faces.context.FacesContext;

//import org.apache.poi.hssf.usermodel.HSSFCell;

import org.apache.poi.hssf.usermodel.HSSFCellStyle;

import org.apache.poi.hssf.usermodel.HSSFDataFormat;

//import org.apache.poi.hssf.usermodel.HSSFRow;

//import org.apache.poi.hssf.usermodel.HSSFSheet;

//import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import org.apache.poi.*;

import org.apache.poi.hssf.util.HSSFColor;

import oracle.adf.model.BindingContainer;

import oracle.adf.model.BindingContext;

import oracle.adf.model.binding.DCBindingContainer;

 

import oracle.adf.model.binding.DCIteratorBinding;

 

import oracle.adf.view.rich.component.rich.data.RichTable;

import org.apache.poi.POIDocument;

//import org.apache.poi

import org.apache.poi.xssf.usermodel.XSSFWorkbook;

//import org.apache.poi.hssf.usermodel.*;

//import oracle.jbo.Row;

import oracle.jbo.RowSetIterator;

import oracle.jbo.ViewObject;

 

import org.apache.myfaces.trinidad.model.CollectionModel;

import org.apache.myfaces.trinidad.model.RowKeySet;

import org.apache.myfaces.trinidad.model.RowKeySetImpl;

import org.apache.poi.hssf.usermodel.HSSFRichTextString;

import org.apache.poi.ss.usermodel.Workbook;

import org.apache.poi.POIXMLDocumentPart;

import org.apache.poi.POIXMLDocument;

import org.apache.poi.hssf.usermodel.HSSFRow;

import org.apache.poi.hssf.usermodel.HSSFSheet;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;

 

 

public class PoiBean {

   

         RichTable CustomTable;

        

    public PoiBean() {

    }

 

 

        public static BindingContainer getBindingContainer() {

            //return (BindingContainer)JSFUtils.resolveExpression("#{bindings}");

            return (BindingContainer)BindingContext.getCurrent().getCurrentBindingsEntry();

        }

 

        public static DCBindingContainer getDCBindingContainer() {

            return (DCBindingContainer)getBindingContainer();

        }

       

       

    public void generateExcel(FacesContext facesContext, OutputStream outputStream) throws IOException {

 

        try {

 

      

 

        Workbook workbook = new XSSFWorkbook();  //or new HSSFWorkbook();

        Sheet worksheet = workbook.createSheet("Fonts");   

 

        // Get all the rows of a iterator

        /////////////////////////////////////////////////////////////////////////////////////////////////////

 

        DCBindingContainer bindings = (DCBindingContainer)BindingContext.getCurrent().getCurrentBindingsEntry();

        DCIteratorBinding dcIteratorBindings = bindings.findIteratorBinding("CustomClientView1Iterator");

       

        Row rowss = worksheet.createRow(0);

        ViewObject yourVO= dcIteratorBindings.getViewObject();

        // Get all the rows of a ViewObject

        RowSetIterator iter = yourVO.createRowSetIterator("CustomClient");

        iter.reset();

        int rowCounter = 0;

        while (iter.hasNext()){

      Cell cell = null;

        oracle.jbo.Row row = iter.next();

 

         //print header on first row in excel

        if (rowCounter == 0) {

            rowss = worksheet.createRow(rowCounter);

            int cellCounter = 0;

 

        for (String colName : row.getAttributeNames()) {

       cell = rowss.createCell(cellCounter);

 

       // cellA1.setCellValue(colName);

 

        cellCounter++;

        }

        }

        //print data from second row in excel

 

        rowCounter++;

        //////////////////////////////////////////////////////////////

        //short j = 0;

 

        int cellCounter = 0;

 

       

 

    //excelrow = (HSSFRow)worksheet.createRow((int)i);

            rowss = worksheet.createRow(rowCounter);

        for (String colName : row.getAttributeNames()) {

        System.out.println("hello "+row.getAttribute(colName));

        System.out.println("hello "+colName);

           

            cell = rowss.createCell(cellCounter);

            rowCounter++;

 

        /// cell.setCellValue(new HSSFRichTextString(rs.getS));

        if(!isBlank(colName)){

        if (colName.equalsIgnoreCase("CcnCode")) {

        cell.setCellValue(row.getAttribute(colName).toString());

        System.out.println("colName "+colName+"row.getAttribute(colName).toString()"+row.getAttribute(colName).toString());

        }

        }

        //logic for cell formatting

           

        else if (colName.equalsIgnoreCase("CcnName")) {

        cell.setCellValue(row.getAttribute(colName).toString());

        }

           

 

        //make it double if you want and convert accordingly

        else if (colName.equalsIgnoreCase("CcnRegDate")){

        cell.setCellValue(row.getAttribute(colName).toString());

        }

 

        else if (colName.equalsIgnoreCase("CcnCancelDate")){

 

        if(null!=row.getAttribute(colName)){

 

        cell.setCellValue(row.getAttribute(colName).toString());

 

        }

 

        } else if (colName.equalsIgnoreCase("CcnUndertaking")){

 

        if(null!=row.getAttribute(colName)){

        cell.setCellValue(row.getAttribute(colName).toString());

        }

        }

 

        else if (colName.equalsIgnoreCase("CcnCode8")){

 

        if(null!=row.getAttribute(colName)){

 

        cell.setCellValue(row.getAttribute(colName).toString());

 

        }                                                                                                            }

 

        else

        cell.setCellValue(row.getAttribute(colName).toString());

        cellCounter++;

        }

 

            worksheet.createFreezePane(0, 1, 0, 1);

        }

                workbook.write(outputStream);

                outputStream.flush();

            }

        //}

                                

            catch (Exception e) {

            e.printStackTrace();

            }          

            }

FacebookTwitterLinkedin
Pin It
Joomla Tutorials for Beginners