Create Shape in Excel Using JSP

In this program we are going create a sheet and then after we create a shape.

Create Shape in Excel Using JSP

create shape in excel using jsp 

     

In this program we are going create a sheet  and then after we create a shape. At excel sheet e.g. we are creating line in this example. To create shape we use setShapeType() in this method we are passing the shape type as an arguments. 

Code description 
The package we need to import is java.io.*,java.util.* ,org.apache.poi.hssf.usermodel.HSSFSheet,org.apache.poi.hssf.usermodel. HSSFPrintSetup, org.apache.poi.hssf.usermodel.HSSFPatriarch,org.apache.poi.hssf.usermodel.HSSFClientAnchor,org.apache. poi.hssf.usermodel.HSSFSimpleShape and org.apache.poi.hssf.usermodel. HSSFWorkbook.
 
The org.apache.poi.hssf.usermodel.HSSFPatriarch extends java.lang.Object and implements HSSFShapeConatainer.The patriarch is the tope level container for shapes in a sheet. It acts as a container for shapes and groups. 
The  org.apache.poi.hssf.usermodel.HSSFClientAnchor class is public class. The HSSFClientAnchor extends HSSFAnchor.A client anchor is attached to an excel worksheet. It anchors against a top-left and buttom-right cell. 

There are two constructors:
 HSSFClientAnchor(): 
This is used to creates a new client anchor and defaults all the anchor positions to 0. 

HSSFClientAnchor(int dx1, int dy1, int dx2, int dy2, short col1, int row1, short col2, int row2): 
This is used to creates a new client anchor and sets the top-left and bottom-right coordinates of the anchor. 

 The org.apache.poi.hssf.usermodel.HSSFSimpleShape class extends the  HSSFShape and the HSSFSimpleShape  class is used for a simple shape such as a line, rectangle or oval. 

We can set  various borders and set various color of the borders.
The method used in this example shift row

setShapeType(HSSFSimpleShape.OBJECT_TYPE_LINE):
This method is used to set the shape we can pass the following  statice parameters of HSSFSimpleShape:
static short OBJECT_TYPE_LINE 
static short OBJECT_TYPE_OVAL
static short OBJECT_TYPE_PICTURE
static short OBJECT_TYPE_RECTANGLE
 
In this example we are using  OBJECT_TYPE_LINE  to create a simple line.
 The code of the program is given below:

<%page import="org.apache.poi.hssf.usermodel.HSSFSheet"%>
<%page import="org.apache.poi.hssf.usermodel.HSSFWorkbook"%>
<%page import="org.apache.poi.hssf.usermodel.HSSFPrintSetup"%>
<%page import="org.apache.poi.hssf.usermodel.HSSFPatriarch"%>
<%page import="org.apache.poi.hssf.usermodel.HSSFClientAnchor"%>
<%page import="org.apache.poi.hssf.usermodel.HSSFSimpleShape"%>
<%page contentType="application/vnd.ms-excel" %>
<%page import="java.io.*" %>
<%page import="java.util.*" %>
<%
try{
  HSSFWorkbook hwb = new HSSFWorkbook();
  HSSFSheet sheet = hwb.createSheet("new sheet");
  HSSFPatriarch patriarch = sheet.createDrawingPatriarch();
  HSSFClientAnchor a = new HSSFClientAnchor
001023255(short10(short1);
  HSSFSimpleShape shape1 = patriarch.createSimpleShape(a);
  shape1.setShapeType(HSSFSimpleShape.OBJECT_TYPE_LINE);
  FileOutputStream fileOut = new FileOutputStream
(
"c:\\excel\\createShape.xls");
  hwb.write(fileOut);
  fileOut.close();
  out.println("Your excel file has been generated");
  catch Exception ex ) {
  }
%>

The output of the program is given below:

Download this example.