I wasn't really ready to commit these but since the others got commited by ant we now have broken links so this fixed that.

git-svn-id: https://svn.apache.org/repos/asf/jakarta/poi/trunk@352323 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Glen Stampoultzis 2002-04-05 12:54:46 +00:00
parent fa4483f05f
commit d2b6d42194
2 changed files with 827 additions and 0 deletions

View File

@ -0,0 +1,230 @@
<html xmlns:NetUtils="org.apache.cocoon.util.NetUtils">
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title></title>
<link href="ns4_toxins.css" type="text/css" rel="stylesheet">
<link href="main.css" type="text/css" rel="stylesheet">
<link media="print" href="print.css" type="text/css" rel="stylesheet">
<link href="compact.css" type="text/css" title="compact" rel="alternate stylesheet">
</head>
<body marginheight="0" marginwidth="0">
<div id="banner">
<table width="100%" cellpadding="8" cellspacing="0" border="0">
<tr>
<td><a href="http://www.apache.org/"><img hspace="0" vspace="0" border="0" src="common/images/group-logo.gif"></a></td><td>
<div align="right">
<a href="http://www.apache.org/"><img hspace="0" vspace="0" border="0" src="common/images/project-logo.gif"></a>
</div>
</td>
</tr>
</table>
</div>
<div class="modbar">
<small><strong><a href="http://www.apache.org/">www.apache.org</a>&nbsp;&gt;&nbsp;
<a href="http://www.apache.org/">jakarta.apache.org</a>&nbsp;&gt;&nbsp;
<a href="#"></a></strong></small>
</div>
<table id="main" width="98%" cellpadding="8" cellspacing="0" border="0">
<tr valign="top">
<td width="20%" id="leftcol">
<div id="navcolumn">
<div>
<small><a href="../index.html">Main</a></small>
</div>
<div>
<small><strong>HSSF</strong></small>
<div>
<small><a href="quick-guide.html">Quick Guide</a></small>
</div>
<div>
<small><a href="how-to.html">HOWTO</a></small>
</div>
<div>
<small><a href="use-case.html">Use Case</a></small>
</div>
<div>
<small><a href="diagrams.html">Pictorial Docs</a></small>
</div>
<div>
<small><a href="alternatives.html">Alternatives</a></small>
</div>
</div>
<div>
<small><strong>Contributer's Guide</strong></small>
<div>
<small><a href="record-generator.html">Record Generator</a></small>
</div>
</div>
</div>
<div id="helptext">
<table width="100%" cellpadding="3" cellspacing="0" border="0">
<tr>
<th>How do I...?</th>
</tr>
<tr>
<td>
<div>Learn more about this project? </div>
<div>Print this page...</div>
<div>Troubleshoot...</div>
</td>
</tr>
</table>
</div>
</td><td id="bodycol" width="100%">
<div id="topmodule">
<table width="100%" cellpadding="3" cellspacing="0" border="0">
<tr>
<td nowrap="nowrap">
<form method="get" action="http://www.google.com/search" onsubmit="q.value = query.value + ' site:jakarta.apache.org'">
<input type="hidden" name="q"><input maxlength="255" size="35" name="id" id="query" type="text">&nbsp;&nbsp;
<input type="button" value="Search" name="Search">&nbsp;
<img border="0" alt="" height="15" width="2" src="images/seperator2.gif">&nbsp;
<input type="radio" name="web" value="web">web site&nbsp;<input type="radio" name="mail" value="mail">mail lists
</form>
</td>
</tr>
</table>
</div>
<h2>HSSF</h2>
<font color="#525D76"><i>Alternatives to HSSF</i></font>
<br>
<font size="-2" color="#000000">
<p>
<a href="mailto:"></a>
</p>
</font>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="#003063"><font color="#ffffff" size="+1"><font face="Arial,sans-serif"><b>Alternatives</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p>
Maybe it's unwise to advertise your competitors but we believe
competition is good and we have the best support reading and
write Excel workbooks currently available.
</p>
<table width="100%" cellspacing="2" cellpadding="2" border="0">
<tr>
<td><b>Product</b></td>
<td><b>URL</b></td>
<td><b>Description</b></td>
</tr>
<tr>
<td>Formula One</td>
<td>
<a href="http://www.tidestone.com/">www.tidestone.com</a>
</td>
<td>An alternative to this project is to
buy the $10,000 Formula 1 library
and accept its crude api and limitations.</td>
</tr>
<tr>
<td>Visual Basic</td>
<td>
<a href="http://www.microsoft.com/">www.microsoft.com</a>
</td>
<td>Give up XML and write Visual Basic code on a Microsoft Windows based
Environment or output in Microsoft's beta and primarily undocumented
XML for office format.</td>
</tr>
<tr>
<td>JExcel</td>
<td>http://stareyes.homeip.net:8888</td>
<td>Frequently unavailable. Little currently known about it's capabilities.</td>
</tr>
<tr>
<td>JWorkbook</td>
<td>http://www.object-refinery.com/jworkbook/index.html</td>
<td>This effort supports Gnumeric and Excel, however the Excel part is done using POI anyway.</td>
</tr>
<tr>
<td>xlReader</td>
<td><a href="http://www.sourceforge.net/projects/xlrd">http://www.sourceforge.net/projects/xlrd</a></td>
<td>Provides decent support for reading Excel.</td>
</tr>
<tr>
<td>Excel ODBC Driver</td>
<td><a href="http://www.nwlink.com/~leewal/content/exceljavasample.htm">http://www.nwlink.com/~leewal/content/exceljavasample.htm</a></td>
<td>ODBC offers a somewhat wierd method for using Excel.</td>
</tr>
<tr>
<td>ExtenXLS</td>
<td><a href="http://www.extentech.com/products/ExtenXLS/docs/intro3.jsp">http://www.extentech.com/products/ExtenXLS/docs/intro3.jsp</a></td>
<td>Commercial library for reading, modifying and writing Excel spreadsheets. Not cheap but
certainly a lot more affordable than Formula 1. No idea as to it's quality.</td>
</tr>
<tr>
<td>J-Integra Java-Excel Bridge</td>
<td><a href="http://www.intrinsyc.com/products/bridging/jintegra.asp">http://www.intrinsyc.com/products/bridging/jintegra.asp</a></td>
<td>Uses DCOM to an Excel instance on a windows machine.</td>
</tr>
<tr>
<td>Perl &amp; C</td>
<td>-</td>
<td>There are a number of perl and C libraries, however none of them are consistent.</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<div id="footer">
<table cellpadding="4" cellspacing="0" border="0">
<tr>
<td><a href="http://www.apache.org/">Copyright &copy; 1999-2002 The Apache Software Foundation. All Rights Reserved.</a></td>
</tr>
<tr>
<td align="right" width="100%">
<br>
</td>
</tr>
<tr>
<td align="right" width="100%"><a href="http://krysalis.org/"><img alt="Krysalis Logo" src="images/krysalis-compatible.jpg"></a><a href="http://xml.apache.org/cocoon/"><img alt="Cocoon Logo" src="images/built-with-cocoon.gif"></a><a href="http://jakarta.apache.org/ant/"><img alt="Ant Logo" src="images/ant_logo_medium.gif"></a></td>
</tr>
</table>
</div>
</body>
</html>

View File

@ -0,0 +1,597 @@
<html xmlns:NetUtils="org.apache.cocoon.util.NetUtils">
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title></title>
<link href="ns4_toxins.css" type="text/css" rel="stylesheet">
<link href="main.css" type="text/css" rel="stylesheet">
<link media="print" href="print.css" type="text/css" rel="stylesheet">
<link href="compact.css" type="text/css" title="compact" rel="alternate stylesheet">
</head>
<body marginheight="0" marginwidth="0">
<div id="banner">
<table width="100%" cellpadding="8" cellspacing="0" border="0">
<tr>
<td><a href="http://www.apache.org/"><img hspace="0" vspace="0" border="0" src="common/images/group-logo.gif"></a></td><td>
<div align="right">
<a href="http://www.apache.org/"><img hspace="0" vspace="0" border="0" src="common/images/project-logo.gif"></a>
</div>
</td>
</tr>
</table>
</div>
<div class="modbar">
<small><strong><a href="http://www.apache.org/">www.apache.org</a>&nbsp;&gt;&nbsp;
<a href="http://www.apache.org/">jakarta.apache.org</a>&nbsp;&gt;&nbsp;
<a href="#"></a></strong></small>
</div>
<table id="main" width="98%" cellpadding="8" cellspacing="0" border="0">
<tr valign="top">
<td width="20%" id="leftcol">
<div id="navcolumn">
<div>
<small><a href="../index.html">Main</a></small>
</div>
<div>
<small><strong>HSSF</strong></small>
<div>
<small><a href="quick-guide.html">Quick Guide</a></small>
</div>
<div>
<small><a href="how-to.html">HOWTO</a></small>
</div>
<div>
<small><a href="use-case.html">Use Case</a></small>
</div>
<div>
<small><a href="diagrams.html">Pictorial Docs</a></small>
</div>
<div>
<small><a href="alternatives.html">Alternatives</a></small>
</div>
</div>
<div>
<small><strong>Contributer's Guide</strong></small>
<div>
<small><a href="record-generator.html">Record Generator</a></small>
</div>
</div>
</div>
<div id="helptext">
<table width="100%" cellpadding="3" cellspacing="0" border="0">
<tr>
<th>How do I...?</th>
</tr>
<tr>
<td>
<div>Learn more about this project? </div>
<div>Print this page...</div>
<div>Troubleshoot...</div>
</td>
</tr>
</table>
</div>
</td><td id="bodycol" width="100%">
<div id="topmodule">
<table width="100%" cellpadding="3" cellspacing="0" border="0">
<tr>
<td nowrap="nowrap">
<form method="get" action="http://www.google.com/search" onsubmit="q.value = query.value + ' site:jakarta.apache.org'">
<input type="hidden" name="q"><input maxlength="255" size="35" name="id" id="query" type="text">&nbsp;&nbsp;
<input type="button" value="Search" name="Search">&nbsp;
<img border="0" alt="" height="15" width="2" src="images/seperator2.gif">&nbsp;
<input type="radio" name="web" value="web">web site&nbsp;<input type="radio" name="mail" value="mail">mail lists
</form>
</td>
</tr>
</table>
</div>
<h2>Quick Guide to HSSF Features</h2>
<font size="-2" color="#000000">
<p>
<a href="mailto:"></a>
</p>
</font>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="#003063"><font color="#ffffff" size="+1"><font face="Arial,sans-serif"><b>Quick Guide to Features</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p>
Want to use HSSF read and write spreadsheets in a hurry? This guide is for you. If you're after
more in-depth coverage of the HSSF user-API please consult the <a href="how-to.html">HOWTO</a>
guide as it contains actual descriptions of how to use this stuff.
</p>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="#003063"><font color="#ffffff" size="+0"><font face="Arial,sans-serif"><b>Index of Features</b></font></font></td>
</tr>
<tr>
<td>
<br>
<ul>
<li>
<a href="#NewWorkbook">How to create a new workbook</a>
</li>
<li>
<a href="#NewSheet">How to create a sheet</a>
</li>
<li>
<a href="#CreateCells">How to create cells</a>
</li>
<li>
<a href="#CreateDateCells">How to create date cells</a>
</li>
<li>
<a href="#CellTypes">Working with different types of cells</a>
</li>
<li>
<a href="#Alignment">Aligning cells</a>
</li>
<li>
<a href="#Borders">Working with borders</a>
</li>
<li>
<a href="#FrillsAndFills">Fills and color</a>
</li>
<li>
<a href="#MergedCells">Merging cells</a>
</li>
<li>
<a href="#WorkingWithFonts">Working with fonts</a>
</li>
<li>
<a href="#ReadWriteWorkbook">Reading and writing</a>
</li>
</ul>
</td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="#003063"><font color="#ffffff" size="+0"><font face="Arial,sans-serif"><b>Features</b></font></font></td>
</tr>
<tr>
<td>
<br>
<anchor id="NewWorkbook"></anchor>
<h4>New Workbook</h4>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
HSSFWorkbook wb = new HSSFWorkbook();
FileOutputStream fileOut = new FileOutputStream("workbook.xls");
wb.write(fileOut);
fileOut.close();
</pre>
</td>
</tr>
</table>
</div>
<anchor id="NewSheet"></anchor>
<h4>New Sheet</h4>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet1 = wb.createSheet("new sheet");
HSSFSheet sheet2 = wb.createSheet("second sheet");
FileOutputStream fileOut = new FileOutputStream("workbook.xls");
wb.write(fileOut);
fileOut.close();
</pre>
</td>
</tr>
</table>
</div>
<anchor id="CreateCells"></anchor>
<h4>Creating Cells</h4>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("new sheet");
// Create a row and put some cells in it. Rows are 0 based.
HSSFRow row = sheet.createRow((short)0);
// Create a cell and put a value in it.
HSSFCell cell = row.createCell((short)0);
cell.setCellValue(1);
// Or do it on one line.
row.createCell((short)1).setCellValue(1.2);
row.createCell((short)2).setCellValue("This is a string");
row.createCell((short)3).setCellValue(true);
// Write the output to a file
FileOutputStream fileOut = new FileOutputStream("workbook.xls");
wb.write(fileOut);
fileOut.close();
</pre>
</td>
</tr>
</table>
</div>
<anchor id="CreateDateCells"></anchor>
<h4>Creating Date Cells</h4>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("new sheet");
// Create a row and put some cells in it. Rows are 0 based.
HSSFRow row = sheet.createRow((short)0);
// Create a cell and put a date value in it. The first cell is not styled
// as a date.
HSSFCell cell = row.createCell((short)0);
cell.setCellValue(new Date());
// we style the second cell as a date (and time). It is important to
// create a new cell style from the workbook otherwise you can end up
// modifying the built in style and effecting not only this cell but other cells.
HSSFCellStyle cellStyle = wb.createCellStyle();
cellStyle.setDataFormat(HSSFDataFormat.getFormat("m/d/yy h:mm"));
cell = row.createCell((short)1);
cell.setCellValue(new Date());
cell.setCellStyle(cellStyle);
// Write the output to a file
FileOutputStream fileOut = new FileOutputStream("workbook.xls");
wb.write(fileOut);
fileOut.close();
</pre>
</td>
</tr>
</table>
</div>
<anchor id="CellTypes"></anchor>
<h4>Working with different types of cells</h4>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("new sheet");
HSSFRow row = sheet.createRow((short)2);
row.createCell((short) 0).setCellValue(1.1);
row.createCell((short) 1).setCellValue(new Date());
row.createCell((short) 2).setCellValue("a string");
row.createCell((short) 3).setCellValue(true);
row.createCell((short) 4).setCellType(HSSFCell.CELL_TYPE_ERROR);
// Write the output to a file
FileOutputStream fileOut = new FileOutputStream("workbook.xls");
wb.write(fileOut);
fileOut.close();
</pre>
</td>
</tr>
</table>
</div>
<anchor id="Alignment"></anchor>
<h4>Demonstrates various alignment options</h4>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
public static void main(String[] args)
throws IOException
{
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("new sheet");
HSSFRow row = sheet.createRow((short) 2);
createCell(wb, row, (short) 0, HSSFCellStyle.ALIGN_CENTER);
createCell(wb, row, (short) 1, HSSFCellStyle.ALIGN_CENTER_SELECTION);
createCell(wb, row, (short) 2, HSSFCellStyle.ALIGN_FILL);
createCell(wb, row, (short) 3, HSSFCellStyle.ALIGN_GENERAL);
createCell(wb, row, (short) 4, HSSFCellStyle.ALIGN_JUSTIFY);
createCell(wb, row, (short) 5, HSSFCellStyle.ALIGN_LEFT);
createCell(wb, row, (short) 6, HSSFCellStyle.ALIGN_RIGHT);
// Write the output to a file
FileOutputStream fileOut = new FileOutputStream("workbook.xls");
wb.write(fileOut);
fileOut.close();
}
/**
* Creates a cell and aligns it a certain way.
*
* @param wb the workbook
* @param row the row to create the cell in
* @param column the column number to create the cell in
* @param align the alignment for the cell.
*/
private static void createCell(HSSFWorkbook wb, HSSFRow row, short column, short align)
{
HSSFCell cell = row.createCell(column);
cell.setCellValue("Align It");
HSSFCellStyle cellStyle = wb.createCellStyle();
cellStyle.setAlignment(align);
cell.setCellStyle(cellStyle);
}
</pre>
</td>
</tr>
</table>
</div>
<anchor id="Borders"></anchor>
<h4>Working with borders</h4>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("new sheet");
// Create a row and put some cells in it. Rows are 0 based.
HSSFRow row = sheet.createRow((short) 1);
// Create a cell and put a value in it.
HSSFCell cell = row.createCell((short) 1);
cell.setCellValue(4);
// Style the cell with borders all around.
HSSFCellStyle style = wb.createCellStyle();
style.setBorderBottom(HSSFCellStyle.BORDER_THIN);
style.setBottomBorderColor(HSSFCellStyle.BLACK);
style.setBorderLeft(HSSFCellStyle.BORDER_THIN);
style.setLeftBorderColor(HSSFCellStyle.GREEN);
style.setBorderRight(HSSFCellStyle.BORDER_THIN);
style.setRightBorderColor(HSSFCellStyle.BLUE);
style.setBorderTop(HSSFCellStyle.BORDER_MEDIUM_DASHED);
style.setTopBorderColor(HSSFCellStyle.AUTOMATIC);
cell.setCellStyle(style);
// Write the output to a file
FileOutputStream fileOut = new FileOutputStream("workbook.xls");
wb.write(fileOut);
fileOut.close();
</pre>
</td>
</tr>
</table>
</div>
<anchor id="FillsAndFrills"></anchor>
<h4>Fills and colors</h4>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("new sheet");
// Create a row and put some cells in it. Rows are 0 based.
HSSFRow row = sheet.createRow((short) 1);
// Aqua background
HSSFCellStyle style = wb.createCellStyle();
style.setFillBackgroundColor(HSSFCellStyle.AQUA);
style.setFillPattern(HSSFCellStyle.BIG_SPOTS);
HSSFCell cell = row.createCell((short) 1);
cell.setCellValue("X");
cell.setCellStyle(style);
// Orange "foreground", foreground being the fill foreground not the font color.
style = wb.createCellStyle();
style.setFillForegroundColor(HSSFCellStyle.ORANGE);
style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
cell = row.createCell((short) 2);
cell.setCellValue("X");
cell.setCellStyle(style);
// Write the output to a file
FileOutputStream fileOut = new FileOutputStream("workbook.xls");
wb.write(fileOut);
fileOut.close();
</pre>
</td>
</tr>
</table>
</div>
<anchor id="MergedCells"></anchor>
<h4>Merging cells</h4>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("new sheet");
HSSFRow row = sheet.createRow((short) 1);
HSSFCell cell = row.createCell((short) 1);
cell.setCellValue("This is a test of merging");
sheet.addMergedRegion(new Region(1,(short)1,1,(short)2));
// Write the output to a file
FileOutputStream fileOut = new FileOutputStream("workbook.xls");
wb.write(fileOut);
fileOut.close();
</pre>
</td>
</tr>
</table>
</div>
<anchor id="WorkingWithFonts"></anchor>
<h4>Working with fonts</h4>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("new sheet");
// Create a row and put some cells in it. Rows are 0 based.
HSSFRow row = sheet.createRow((short) 1);
// Create a new font and alter it.
HSSFFont font = wb.createFont();
font.setFontHeightInPoints((short)24);
font.setFontName("Courier New");
font.setItalic(true);
font.setStrikeout(true);
// Fonts are set into a style so create a new one to use.
HSSFCellStyle style = wb.createCellStyle();
style.setFont(font);
// Create a cell and put a value in it.
HSSFCell cell = row.createCell((short) 1);
cell.setCellValue("This is a test of fonts");
cell.setCellStyle(style);
// Write the output to a file
FileOutputStream fileOut = new FileOutputStream("workbook.xls");
wb.write(fileOut);
fileOut.close();
</pre>
</td>
</tr>
</table>
</div>
<anchor id="ReadWriteWorkbook"></anchor>
<h4>Reading and Rewriting Workbooks</h4>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
POIFSFileSystem fs =
new POIFSFileSystem(new FileInputStream("workbook.xls"));
HSSFWorkbook wb = new HSSFWorkbook(fs);
HSSFSheet sheet = wb.getSheetAt(0);
HSSFRow row = sheet.getRow(2);
HSSFCell cell = row.getCell((short)3);
if (cell == null)
cell = row.createCell((short)3);
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setCellValue("a test");
// Write the output to a file
FileOutputStream fileOut = new FileOutputStream("workbook.xls");
wb.write(fileOut);
fileOut.close();
</pre>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<div id="footer">
<table cellpadding="4" cellspacing="0" border="0">
<tr>
<td><a href="http://www.apache.org/">Copyright &copy; 1999-2002 The Apache Software Foundation. All Rights Reserved.</a></td>
</tr>
<tr>
<td align="right" width="100%">
<br>
</td>
</tr>
<tr>
<td align="right" width="100%"><a href="http://krysalis.org/"><img alt="Krysalis Logo" src="images/krysalis-compatible.jpg"></a><a href="http://xml.apache.org/cocoon/"><img alt="Cocoon Logo" src="images/built-with-cocoon.gif"></a><a href="http://jakarta.apache.org/ant/"><img alt="Ant Logo" src="images/ant_logo_medium.gif"></a></td>
</tr>
</table>
</div>
</body>
</html>