]> source.dussan.org Git - poi.git/commitdiff
Update some more documentation, and put in a workaround for needing to create a RichT...
authorNick Burch <nick@apache.org>
Sun, 16 Mar 2008 16:24:23 +0000 (16:24 +0000)
committerNick Burch <nick@apache.org>
Sun, 16 Mar 2008 16:24:23 +0000 (16:24 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/branches/ooxml@637607 13f79535-47bb-0310-9956-ffa450edef68

src/documentation/content/xdocs/spreadsheet/quick-guide.xml
src/examples/src/org/apache/poi/ss/usermodel/examples/FromQuickGuide.java [new file with mode: 0644]
src/java/org/apache/poi/hssf/usermodel/HSSFCell.java
src/ooxml/interfaces-jdk15/org/apache/poi/ss/usermodel/Cell.java
src/ooxml/interfaces-jdk15/org/apache/poi/ss/usermodel/RichTextString.java
src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFCell.java

index e2186953bd6269c32c22708e998b5668c8945f17..bde88d43bd1277e63e167770c17c33307d9461f0 100644 (file)
 
     // 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)2).setCellValue(
+         cell.createRichTextString("This is a string"));
     row.createCell((short)3).setCellValue(true);
 
     // Write the output to a file
diff --git a/src/examples/src/org/apache/poi/ss/usermodel/examples/FromQuickGuide.java b/src/examples/src/org/apache/poi/ss/usermodel/examples/FromQuickGuide.java
new file mode 100644 (file)
index 0000000..1a1913a
--- /dev/null
@@ -0,0 +1,94 @@
+/* ====================================================================
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+==================================================================== */
+package org.apache.poi.ss.usermodel.examples;
+
+import java.io.FileOutputStream;
+import java.io.IOException;
+
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.apache.poi.ss.usermodel.Cell;
+import org.apache.poi.ss.usermodel.RichTextString;
+import org.apache.poi.ss.usermodel.Row;
+import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.ss.usermodel.Workbook;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+
+/**
+ * Various things from the quick guide documentation
+ */
+public class FromQuickGuide {
+       public void newWorkbook() throws IOException {
+               boolean doHSSF = true;
+               boolean doXSSF = true;
+               
+               if(doHSSF) {
+                   Workbook wb = new HSSFWorkbook();
+                   FileOutputStream fileOut = new FileOutputStream("workbook.xls");
+                   wb.write(fileOut);
+                   fileOut.close();
+               }
+               if(doXSSF) {
+                   Workbook wb = new XSSFWorkbook();
+                   FileOutputStream fileOut = new FileOutputStream("workbook.xlsx");
+                   wb.write(fileOut);
+                   fileOut.close();
+               }
+       }
+       
+       public void newSheet() throws IOException {
+               Workbook[] wbs = new Workbook[] {
+                               new HSSFWorkbook(), new XSSFWorkbook()
+               };
+               
+               for (int i = 0; i < wbs.length; i++) {
+                       Workbook wb = wbs[i];
+                   Sheet sheet1 = wb.createSheet("new sheet");
+                   Sheet sheet2 = wb.createSheet("second sheet");
+                   FileOutputStream fileOut = new FileOutputStream("workbook.xls");
+                   wb.write(fileOut);
+                   fileOut.close();
+               }
+       }
+       
+       public void newCells() throws IOException {
+               Workbook[] wbs = new Workbook[] {
+                               new HSSFWorkbook(), new XSSFWorkbook()
+               };
+               
+               for (int i = 0; i < wbs.length; i++) {
+                       Workbook wb = wbs[i];
+                   Sheet sheet = wb.createSheet("new sheet");
+
+                   // Create a row and put some cells in it. Rows are 0 based.
+                   Row row = sheet.createRow((short)0);
+                   // Create a cell and put a value in it.
+                   Cell 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(
+                               cell.createRichTextString("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();
+               }
+       }
+}
index f906e91a49c9ec78fb25731a6cba2c9cf35e5c69..ba812e20e5f334ad18728a3eee21ab76a1d59d63 100644 (file)
@@ -1141,4 +1141,11 @@ public class HSSFCell implements Cell
         int eofLoc = sheet.findFirstRecordLocBySid( EOFRecord.sid );
         sheet.getRecords().add( eofLoc, link.record );
     }
+
+    /**
+     * Creates a new HSSFRichTextString for you.
+     */
+       public RichTextString createRichTextString(String text) {
+               return new HSSFRichTextString(text);
+       }
 }
index 39113f59c74454267f50ab6f0ac5e11373641cba..1a8fc2b9bc81d765a7fa6323d1c7d0ad23e1f13b 100644 (file)
@@ -153,6 +153,17 @@ public interface Cell {
 
     String getCellFormula();
 
+    /**
+     * Creates a RichTextString, which you can then pass to
+     *  {@link #setCellValue(RichTextString)}. This is required
+     *  because Java is broken, and won't allow you to define
+     *  static methods or constructors on interfaces, and without
+     *  that there's no way to get a RichTextString without
+     *  creating the appropriate concrete class. 
+     * @param text The text to initialise the RichTextString with
+     */
+    RichTextString createRichTextString(String text);
+    
     /**
      * get the value of the cell as a number.  For strings we throw an exception.
      * For blank cells we return a 0.
index 43e50a1563f0544f3a0f1b75458e1d13ae310a89..7430cfad2a4eb1319485b566e64204d03bbd7c50 100644 (file)
 
 package org.apache.poi.ss.usermodel;
 
-
+/**
+ * Rich text unicode string.  These strings can have fonts 
+ *  applied to arbitary parts of the string.
+ *  
+ * @author Glen Stampoultzis (glens at apache.org)
+ * @author Jason Height (jheight at apache.org)
+ */
 public interface RichTextString {
-
     /** Place holder for indicating that NO_FONT has been applied here */
     public static final short NO_FONT = 0;
-
+    
     /**
      * Applies a font to the specified characters of a string.
      *
index c1de5b63a83820c15fb83657b7ddd4d6fc54c848..70cdb3bea858140ef33dcb7de97ead58ba09df0b 100644 (file)
@@ -316,5 +316,10 @@ public class XSSFCell implements Cell {
       }
     }
 
-    
+    /**
+     * Creates an XSSFRichTextString for you.
+     */
+       public RichTextString createRichTextString(String text) {
+               return new XSSFRichTextString(text);
+       }
 }