Bug 15727 - example use of POI (self-contained JSP page)
Summary: example use of POI (self-contained JSP page)
Status: RESOLVED FIXED
Alias: None
Product: POI
Classification: Unclassified
Component: HSSF (show other bugs)
Version: 1.5.1
Hardware: All All
: P3 enhancement (vote)
Target Milestone: ---
Assignee: POI Developers List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2002-12-30 23:22 UTC by brian westrich
Modified: 2004-11-16 19:05 UTC (History)
0 users



Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description brian westrich 2002-12-30 23:22:41 UTC
Tried POI HSSF the other day and it was great!  Then I noticed a few issues 
with the example code I found that printed an entire worksheet, notably that it 
didn't like blank cells. I've attached a modified version that no longer has 
this problem. Also, I've made it a JSP page (though I know this isn't the
best way to use POI in a *real* app) which makes it easy for someone to try out 
POI/HSSF and have a simple example to work from. The JSP is attached below as a 
possible contribution to POI. 


JSP source file begins below this line.  

<%@page contentType="text/html" 
import="java.io.*,org.apache.poi.poifs.filesystem.POIFSFileSystem,org.apache.poi
.hssf.record.*,org.apache.poi.hssf.model.*,org.apache.poi.hssf.usermodel.*,org.a
pache.poi.hssf.util.*" %>
<html>
<head><title>Read Excel file </title>
</head>
<body>
An example of using Jakarta POI's HSSF package to read an excel spreadsheet: 


<form name="form1" method="get" action="">
Select an Excel file to read. 
  <input type="file" name="xls_filename" onChange="form1.submit()">
</form>

<%
	String filename = request.getParameter("xls_filename"); 
	if (filename != null && !filename.equals("")) {
%>	
	<br>You chose the file <%= filename %>. 
	<br><br>It's contents are: 	
<%	
            try
            {

                // create a poi workbook from the excel spreadsheet file
                POIFSFileSystem fs =
                    new POIFSFileSystem(new FileInputStream(filename));
                HSSFWorkbook wb = new HSSFWorkbook(fs);

                for (int k = 0; k < wb.getNumberOfSheets(); k++)
                {
%>				
                    <br><br>Sheet  <%= k %> <br>
<%					
					
                    HSSFSheet sheet = wb.getSheetAt(k);
                    int       rows  = sheet.getPhysicalNumberOfRows();

                    for (int r = 0; r < rows; r++)
                    {
                        HSSFRow row   = sheet.getRow(r);
                        if (row != null) { 
                            int     cells = row.getPhysicalNumberOfCells();
%>
							<br><b>ROW  <%= 
row.getRowNum() %> </b>
<%
                            for (short c = 0; c < cells; c++) 
                            { 
                                HSSFCell cell  = row.getCell(c);
                                if (cell != null) { 
                                    String   value = null;

                                    switch (cell.getCellType())
                                    {

                                        case HSSFCell.CELL_TYPE_FORMULA :
                                            value = "FORMULA ";
                                            break;

                                        case HSSFCell.CELL_TYPE_NUMERIC :
                                            value = "NUMERIC value="
                                                    + cell.getNumericCellValue
();
                                            break;

                                        case HSSFCell.CELL_TYPE_STRING :
                                            value = "STRING value="
                                                    + cell.getStringCellValue();
                                            break;

                                        default :
                                    }
%>									
                                    <%= "CELL col=" 
									
	+ cell.getCellNum()
                                        + " VALUE=" + value %>
<%
                                } 
                            }
                        }
                    }
                }
            }
            catch (Exception e)
            {
%>
	Error occurred:  <%= e.getMessage() %>
<%			
                e.printStackTrace();
            }

	} 
%> 
</body>
</html>



JSP source file ends above this line.
Comment 1 Avik Sengupta 2003-01-26 20:45:50 UTC
added in the examples directory. Thanks