mirror of https://github.com/apache/poi.git
Quick guide now available
git-svn-id: https://svn.apache.org/repos/asf/jakarta/poi/trunk@352294 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
06f6946167
commit
7d1ba7ecc3
|
@ -10,6 +10,7 @@
|
||||||
</menu>
|
</menu>
|
||||||
|
|
||||||
<menu label="HSSF">
|
<menu label="HSSF">
|
||||||
|
<menu-item label="Quick Guide" href="quick-guide.html"/>
|
||||||
<menu-item label="HOWTO" href="how-to.html"/>
|
<menu-item label="HOWTO" href="how-to.html"/>
|
||||||
<menu-item label="Use Case" href="use-case.html"/>
|
<menu-item label="Use Case" href="use-case.html"/>
|
||||||
<menu-item label="Pictorial Docs" href="diagrams.html"/>
|
<menu-item label="Pictorial Docs" href="diagrams.html"/>
|
||||||
|
|
|
@ -0,0 +1,300 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.0//EN" "../dtd/document-v10.dtd">
|
||||||
|
|
||||||
|
<document>
|
||||||
|
<header>
|
||||||
|
<title>Quick Guide to HSSF Features</title>
|
||||||
|
<authors>
|
||||||
|
<person email="glens@apache.org" name="Glen Stampoultzis" id="CO"/>
|
||||||
|
</authors>
|
||||||
|
</header>
|
||||||
|
<body>
|
||||||
|
<s1 title="Quick Guide to Features">
|
||||||
|
<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 <link href="how-to.html">HOWTO</link>
|
||||||
|
guide as it contains actual descriptions of how to use this stuff.
|
||||||
|
</p>
|
||||||
|
<s2 title="Index of Features">
|
||||||
|
<ul>
|
||||||
|
<li><link href="#NewWorkbook">How to create a new workbook</link></li>
|
||||||
|
<li><link href="#NewSheet">How to create a sheet</link></li>
|
||||||
|
<li><link href="#CreateCells">How to create cells</link></li>
|
||||||
|
<li><link href="#CreateDateCells">How to create date cells</link></li>
|
||||||
|
<li><link href="#CellTypes">Working with different types of cells</link></li>
|
||||||
|
<li><link href="#Alignment">Aligning cells</link></li>
|
||||||
|
<li><link href="#Borders">Working with borders</link></li>
|
||||||
|
<li><link href="#FrillsAndFills">Fills and color</link></li>
|
||||||
|
<li><link href="#MergedCells">Merging cells</link></li>
|
||||||
|
<li><link href="#WorkingWithFonts">Working with fonts</link></li>
|
||||||
|
<li><link href="#ReadWriteWorkbook">Reading and writing</link></li>
|
||||||
|
</ul>
|
||||||
|
</s2>
|
||||||
|
<s2 title="Features">
|
||||||
|
<anchor id="NewWorkbook"/>
|
||||||
|
<s3 title="New Workbook">
|
||||||
|
<source>
|
||||||
|
HSSFWorkbook wb = new HSSFWorkbook();
|
||||||
|
FileOutputStream fileOut = new FileOutputStream("workbook.xls");
|
||||||
|
wb.write(fileOut);
|
||||||
|
fileOut.close();
|
||||||
|
</source>
|
||||||
|
</s3>
|
||||||
|
<anchor id="NewSheet"/>
|
||||||
|
<s3 title="New Sheet">
|
||||||
|
<source>
|
||||||
|
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();
|
||||||
|
</source>
|
||||||
|
</s3>
|
||||||
|
<anchor id="CreateCells"/>
|
||||||
|
<s3 title="Creating Cells">
|
||||||
|
<source>
|
||||||
|
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();
|
||||||
|
</source>
|
||||||
|
</s3>
|
||||||
|
<anchor id="CreateDateCells"/>
|
||||||
|
<s3 title="Creating Date Cells">
|
||||||
|
<source>
|
||||||
|
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();
|
||||||
|
</source>
|
||||||
|
</s3>
|
||||||
|
<anchor id="CellTypes"/>
|
||||||
|
<s3 title="Working with different types of cells">
|
||||||
|
<source>
|
||||||
|
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();
|
||||||
|
</source>
|
||||||
|
</s3>
|
||||||
|
<anchor id="Alignment"/>
|
||||||
|
<s3 title="Demonstrates various alignment options">
|
||||||
|
<source>
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
</source>
|
||||||
|
</s3>
|
||||||
|
<anchor id="Borders"/>
|
||||||
|
<s3 title="Working with borders">
|
||||||
|
<source>
|
||||||
|
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();
|
||||||
|
</source>
|
||||||
|
</s3>
|
||||||
|
<anchor id="FillsAndFrills"/>
|
||||||
|
<s3 title="Fills and colors">
|
||||||
|
<source>
|
||||||
|
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();
|
||||||
|
</source>
|
||||||
|
</s3>
|
||||||
|
<anchor id="MergedCells"/>
|
||||||
|
<s3 title="Merging cells">
|
||||||
|
<source>
|
||||||
|
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();
|
||||||
|
</source>
|
||||||
|
</s3>
|
||||||
|
<anchor id="WorkingWithFonts"/>
|
||||||
|
<s3 title="Working with fonts">
|
||||||
|
<source>
|
||||||
|
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();
|
||||||
|
</source>
|
||||||
|
</s3>
|
||||||
|
<anchor id="ReadWriteWorkbook"/>
|
||||||
|
<s3 title="Reading and Rewriting Workbooks">
|
||||||
|
<source>
|
||||||
|
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();
|
||||||
|
</source>
|
||||||
|
</s3>
|
||||||
|
</s2>
|
||||||
|
</s1>
|
||||||
|
</body>
|
||||||
|
</document>
|
Loading…
Reference in New Issue