diff options
Diffstat (limited to 'src/documentation/xdocs/hssf/how-to.xml')
-rw-r--r-- | src/documentation/xdocs/hssf/how-to.xml | 245 |
1 files changed, 123 insertions, 122 deletions
diff --git a/src/documentation/xdocs/hssf/how-to.xml b/src/documentation/xdocs/hssf/how-to.xml index 8c5d930dba..ae2eb74d0a 100644 --- a/src/documentation/xdocs/hssf/how-to.xml +++ b/src/documentation/xdocs/hssf/how-to.xml @@ -75,141 +75,142 @@ </p> <p>Here is some example code (excerpted and adapted from org.apache.poi.hssf.dev.HSSF test class):</p> -<source><![CDATA[ short rownum; - - // create a new file - FileOutputStream out = new FileOutputStream("workbook.xls"); - // create a new workbook - HSSFWorkbook wb = new HSSFWorkbook(); - // create a new sheet - HSSFSheet s = wb.createSheet(); - // declare a row object reference - HSSFRow r = null; - // declare a cell object reference - HSSFCell c = null; - // create 3 cell styles - HSSFCellStyle cs = wb.createCellStyle(); - HSSFCellStyle cs2 = wb.createCellStyle(); - HSSFCellStyle cs3 = wb.createCellStyle(); - // create 2 fonts objects - HSSFFont f = wb.createFont(); - HSSFFont f2 = wb.createFont(); - - //set font 1 to 12 point type - f.setFontHeightInPoints((short) 12); - //make it red - f.setColor((short) HSSFCellStyle.RED); - // make it bold - //arial is the default font - f.setBoldweight(f.BOLDWEIGHT_BOLD); - - //set font 2 to 10 point type - f2.setFontHeightInPoints((short) 10); - //make it the color at palette index 0xf (white) - f2.setColor((short) HSSFCellStyle.WHITE); - //make it bold - f2.setBoldweight(f2.BOLDWEIGHT_BOLD); - - //set cell stlye - cs.setFont(f); - //set the cell format see HSSFDataFromat for a full list - cs.setDataFormat(HSSFDataFormat.getFormat("($#,##0_);[Red]($#,##0)")); - - //set a thin border - cs2.setBorderBottom(cs2.BORDER_THIN); - //fill w fg fill color - cs2.setFillPattern((short) HSSFCellStyle.SOLID_FOREGROUND); - // set foreground fill to red - cs2.setFillForegroundColor((short) HSSFCellStyle.RED); - - // set the font - cs2.setFont(f2); - - // set the sheet name to HSSF Test - wb.setSheetName(0, "HSSF Test"); - // create a sheet with 300 rows (0-299) - for (rownum = (short) 0; rownum < 300; rownum++) - { - // create a row - r = s.createRow(rownum); - // on every other row - if ((rownum % 2) == 0) - { - // make the row height bigger (in twips - 1/20 of a point) - r.setHeight((short) 0x249); - } - - //r.setRowNum(( short ) rownum); - // create 50 cells (0-49) (the += 2 becomes apparent later - for (short cellnum = (short) 0; cellnum < 50; cellnum += 2) - { - // create a numeric cell - c = r.createCell(cellnum); - // do some goofy math to demonstrate decimals - c.setCellValue(rownum * 10000 + cellnum - + (((double) rownum / 1000) - + ((double) cellnum / 10000))); - - // on every other row - if ((rownum % 2) == 0) - { - // set this cell to the first cell style we defined - c.setCellStyle(cs); - } +<source><![CDATA[ +short rownum; + +// create a new file +FileOutputStream out = new FileOutputStream("workbook.xls"); +// create a new workbook +HSSFWorkbook wb = new HSSFWorkbook(); +// create a new sheet +HSSFSheet s = wb.createSheet(); +// declare a row object reference +HSSFRow r = null; +// declare a cell object reference +HSSFCell c = null; +// create 3 cell styles +HSSFCellStyle cs = wb.createCellStyle(); +HSSFCellStyle cs2 = wb.createCellStyle(); +HSSFCellStyle cs3 = wb.createCellStyle(); +// create 2 fonts objects +HSSFFont f = wb.createFont(); +HSSFFont f2 = wb.createFont(); + +//set font 1 to 12 point type +f.setFontHeightInPoints((short) 12); +//make it red +f.setColor((short) HSSFColor.RED.index); +// make it bold +//arial is the default font +f.setBoldweight(f.BOLDWEIGHT_BOLD); + +//set font 2 to 10 point type +f2.setFontHeightInPoints((short) 10); +//make it the color at palette index 0xf (white) +f2.setColor((short) HSSFColor.WHITE.index); +//make it bold +f2.setBoldweight(f2.BOLDWEIGHT_BOLD); + +//set cell stlye +cs.setFont(f); +//set the cell format see HSSFDataFromat for a full list +cs.setDataFormat(HSSFDataFormat.getFormat("($#,##0_);[Red]($#,##0)")); + +//set a thin border +cs2.setBorderBottom(cs2.BORDER_THIN); +//fill w fg fill color +cs2.setFillPattern((short) HSSFCellStyle.SOLID_FOREGROUND); +// set foreground fill to red +cs2.setFillForegroundColor((short) HSSFColor.RED.index); + +// set the font +cs2.setFont(f2); + +// set the sheet name to HSSF Test +wb.setSheetName(0, "HSSF Test"); +// create a sheet with 300 rows (0-299) +for (rownum = (short) 0; rownum < 300; rownum++) +{ + // create a row + r = s.createRow(rownum); + // on every other row + if ((rownum % 2) == 0) + { + // make the row height bigger (in twips - 1/20 of a point) + r.setHeight((short) 0x249); + } - // create a string cell (see why += 2 in the - c = r.createCell((short) (cellnum + 1)); + //r.setRowNum(( short ) rownum); + // create 50 cells (0-49) (the += 2 becomes apparent later + for (short cellnum = (short) 0; cellnum < 50; cellnum += 2) + { + // create a numeric cell + c = r.createCell(cellnum); + // do some goofy math to demonstrate decimals + c.setCellValue(rownum * 10000 + cellnum + + (((double) rownum / 1000) + + ((double) cellnum / 10000))); + + // on every other row + if ((rownum % 2) == 0) + { + // set this cell to the first cell style we defined + c.setCellStyle(cs); + } - // set the cell's string value to "TEST" - c.setCellValue("TEST"); - // make this column a bit wider - s.setColumnWidth((short) (cellnum + 1), (short) ((50 * 8) / ((double) 1 / 20))); + // create a string cell (see why += 2 in the + c = r.createCell((short) (cellnum + 1)); - // on every other row - if ((rownum % 2) == 0) - { - // set this to the white on red cell style - // we defined above - c.setCellStyle(cs2); - } + // set the cell's string value to "TEST" + c.setCellValue("TEST"); + // make this column a bit wider + s.setColumnWidth((short) (cellnum + 1), (short) ((50 * 8) / ((double) 1 / 20))); - } + // on every other row + if ((rownum % 2) == 0) + { + // set this to the white on red cell style + // we defined above + c.setCellStyle(cs2); } - //draw a thick black border on the row at the bottom using BLANKS - // advance 2 rows - rownum++; - rownum++; + } +} + +//draw a thick black border on the row at the bottom using BLANKS +// advance 2 rows +rownum++; +rownum++; - r = s.createRow(rownum); +r = s.createRow(rownum); - // define the third style to be the default - // except with a thick black border at the bottom - cs3.setBorderBottom(cs3.BORDER_THICK); +// define the third style to be the default +// except with a thick black border at the bottom +cs3.setBorderBottom(cs3.BORDER_THICK); - //create 50 cells - for (short cellnum = (short) 0; cellnum < 50; cellnum++) - { - //create a blank type cell (no value) - c = r.createCell(cellnum); - // set it to the thick black border style - c.setCellStyle(cs3); - } +//create 50 cells +for (short cellnum = (short) 0; cellnum < 50; cellnum++) +{ + //create a blank type cell (no value) + c = r.createCell(cellnum); + // set it to the thick black border style + c.setCellStyle(cs3); +} - //end draw thick black border +//end draw thick black border - // demonstrate adding/naming and deleting a sheet - // create a sheet, set its title then delete it - s = wb.createSheet(); - wb.setSheetName(1, "DeletedSheet"); - wb.removeSheetAt(1); - //end deleted sheet +// demonstrate adding/naming and deleting a sheet +// create a sheet, set its title then delete it +s = wb.createSheet(); +wb.setSheetName(1, "DeletedSheet"); +wb.removeSheetAt(1); +//end deleted sheet - // write the workbook to the output stream - // close our file (don't blow out our file handles - wb.write(out); - out.close(); +// write the workbook to the output stream +// close our file (don't blow out our file handles +wb.write(out); +out.close(); ]]></source> </section> <section title="Reading or modifying an existing file"> |