poi-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ye...@apache.org
Subject svn commit: r1423805 [12/18] - in /poi/site/publish: ./ hdgf/ hmef/ hpbf/ hpsf/ hsmf/ hwpf/ images/ oxml4j/ poifs/ poifs/images/ resources/ resources/images/ skin/ skin/css/ skin/images/ slideshow/ spreadsheet/ spreadsheet/images/
Date Wed, 19 Dec 2012 09:27:39 GMT
Added: poi/site/publish/slideshow/xslf-cookbook.html
URL: http://svn.apache.org/viewvc/poi/site/publish/slideshow/xslf-cookbook.html?rev=1423805&view=auto
==============================================================================
--- poi/site/publish/slideshow/xslf-cookbook.html (added)
+++ poi/site/publish/slideshow/xslf-cookbook.html Wed Dec 19 09:27:20 2012
@@ -0,0 +1,585 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<!--*** This is a generated file.  Do not edit.  ***-->
+<link rel="stylesheet" href="../skin/tigris.css" type="text/css">
+<link rel="stylesheet" href="../skin/mysite.css" type="text/css">
+<link rel="stylesheet" href="../skin/site.css" type="text/css">
+<link media="print" rel="stylesheet" href="../skin/print.css" type="text/css">
+<title>XSLF Cookbook</title>
+</head>
+<body bgcolor="white" class="composite">
+<!--================= start Banner ==================-->
+<div id="banner">
+<table width="100%" cellpadding="8" cellspacing="0" summary="banner" border="0">
+<tbody>
+<tr>
+<!--================= start Group Logo ==================-->
+<td width="50%" align="left">
+<div class="groupLogo">
+<a href="http://poi.apache.org"><img border="0" class="logoImage" alt="Apache POI" src="../resources/images/group-logo.jpg"></a>
+</div>
+</td>
+<!--================= end Group Logo ==================-->
+<!--================= start Project Logo ==================--><td width="50%" align="right">
+<div align="right" class="projectLogo">
+<a href="http://poi.apache.org/"><img border="0" class="logoImage" alt="POI" src="../resources/images/project-logo.jpg"></a>
+</div>
+</td>
+<!--================= end Project Logo ==================-->
+</tr>
+</tbody>
+</table>
+</div>
+<!--================= end Banner ==================-->
+<!--================= start Main ==================-->
+<table width="100%" cellpadding="0" cellspacing="0" border="0" summary="nav" id="breadcrumbs">
+<tbody>
+<!--================= start Status ==================-->
+<tr class="status">
+<td>
+<!--================= start BreadCrumb ==================--><a href="http://www.apache.org/">Apache</a> | <a href="http://poi.apache.org/">POI</a><a href=""></a>
+<!--================= end BreadCrumb ==================--></td><td id="tabs">
+<!--================= start Tabs ==================-->
+<div class="tab">
+<span class="selectedTab"><a class="base-selected" href="../index.html">Home</a></span> | <script language="Javascript" type="text/javascript">
+function printit() {  
+if (window.print) {
+    window.print() ;  
+} else {
+    var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH="0" HEIGHT="0" CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
+document.body.insertAdjacentHTML('beforeEnd', WebBrowser);
+    WebBrowser1.ExecWB(6, 2);//Use a 1 vs. a 2 for a prompting dialog box    WebBrowser1.outerHTML = "";  
+}
+}
+</script><script language="Javascript" type="text/javascript">
+var NS = (navigator.appName == "Netscape");
+var VERSION = parseInt(navigator.appVersion);
+if (VERSION > 3) {
+    document.write('  <a title="PRINT this page OUT" href="javascript:printit()">PRINT</a>');
+}
+</script>
+</div>
+<!--================= end Tabs ==================-->
+</td>
+</tr>
+</tbody>
+</table>
+<!--================= end Status ==================-->
+<table id="main" width="100%" cellpadding="8" cellspacing="0" summary="" border="0">
+<tbody>
+<tr valign="top">
+<!--================= start Menu ==================-->
+<td id="leftcol">
+<div id="navcolumn">
+<div class="menuBar">
+<div class="menu">
+<span class="menuLabel">Apache POI</span>
+        
+<div class="menuItem">
+<a href="../index.html">Top</a>
+</div>
+    
+</div>
+<div class="menu">
+<span class="menuLabel">HSLF</span>
+        
+<div class="menuItem">
+<a href="index.html">Overview</a>
+</div>
+        
+<div class="menuItem">
+<a href="quick-guide.html">Quick Guide</a>
+</div>
+        
+<div class="menuItem">
+<a href="how-to-shapes.html">HSLF Cookbok</a>
+</div>
+        
+<div class="menuItem">
+<span class="menuSelected">XSLF Cookbok</span>
+</div>
+        
+<div class="menuItem">
+<a href="ppt-file-format.html">PPT File Format</a>
+</div>
+	
+</div>
+</div>
+</div>
+<form target="_blank" action="http://www.google.com/search" method="get">
+<table summary="search" border="0" cellspacing="0" cellpadding="0">
+<tr>
+<td><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td><td nowrap="nowrap">
+                          Search Apache POI<br>
+<input value="poi.apache.org" name="sitesearch" type="hidden"><input size="10" name="q" id="query" type="text"><img height="1" width="5" alt="" src="../skin/images/spacer.gif" class="spacer"><input name="Search" value="GO" type="submit"></td><td><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td colspan="3"><img height="7" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td class="bottom-left-thick"></td><td bgcolor="#a5b6c6"><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td><td class="bottom-right-thick"></td>
+</tr>
+</table>
+</form>
+</td>
+<!--================= end Menu ==================-->
+<!--================= start Content ==================--><td>
+<div id="bodycol">
+<div class="app">
+<div align="center">
+<h1>XSLF Cookbook</h1>
+</div>
+<div class="h3">
+    
+    
+        
+<a name="XSLF+Cookbook"></a>
+<div class="h3">
+<h3>XSLF Cookbook</h3>
+</div>
+            
+<p>
+              This page offers a short introduction into the XSLF API. More examples can be found in the
+                <a href="http://svn.apache.org/repos/asf/poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/"> XSLF Examples</a>
+               in the POI SVN repository. 
+            </p>
+            
+<div class="frame note">
+<div class="label">Note</div>
+<div class="content">
+            Please note that XSLF is still in early development and is a subject to incompatible changes in a future release. 
+            </div>
+</div>
+             
+<a name="Index+of+Features"></a>
+<div class="h4">
+<h4>Index of Features</h4>
+</div>
+                
+<ul>
+                    
+<li>
+<a href="#NewPresentation">Create a new presentation</a>
+</li>
+                    
+<li>
+<a href="#ReadPresentation">Read an existing presentation</a>
+</li>
+                    
+<li>
+<a href="#SlideLayout">Create a slide with a predefined layout</a>
+</li>
+                    
+<li>
+<a href="#DeleteSlide">Delete slide</a>
+</li>
+                    
+<li>
+<a href="#MoveSlide">Re-order slides</a>
+</li>
+                    
+<li>
+<a href="#SlideSize">Change slide size</a>
+</li>
+                    
+<li>
+<a href="#GetShapes">Read shapes</a>
+</li>
+                    
+<li>
+<a href="#AddImage">Add image</a>
+</li>
+                    
+<li>
+<a href="#ReadImages">Read images contained in a presentation</a>
+</li>
+                    
+<li>
+<a href="#Text">Format text</a>
+</li>
+                    
+<li>
+<a href="#Hyperlinks">Hyperlinks</a>
+</li>
+                    
+<li>
+<a href="#PPTX2PNG">Convert .pptx slides into images</a>
+</li>
+                    
+<li>
+<a href="#Merge">Merge multiple presentations together</a>
+</li>
+                
+</ul>
+            
+            
+<a name="Cookbok"></a>
+<div class="h4">
+<h4>Cookbok</h4>
+</div>
+                
+<a name="NewPresentation"></a>
+                <a name="New+Presentation"></a>
+<div class="h2">
+<h2>New Presentation</h2>
+</div>
+                
+<p>
+                The following code creates a new .pptx slide show and adds a blank slide to it:
+                </p>
+                  
+<pre class="code">
+    //create a new empty slide show
+    XMLSlideShow ppt = new XMLSlideShow();
+
+    //add first slide
+    XSLFSlide blankSlide = ppt.createSlide();
+                 </pre>
+                
+                
+<a name="ReadPresentation"></a>
+                <a name="Read+an+existing+presentation+and+append+a+slide+to+it"></a>
+<div class="h2">
+<h2>Read an existing presentation and append a slide to it</h2>
+</div>
+                  
+<pre class="code">
+    XMLSlideShow ppt = new XMLSlideShow(new FileInputStream("slideshow.pptx"));
+
+    //append a new slide to the end
+    XSLFSlide blankSlide = ppt.createSlide();
+                 </pre>
+                
+
+                
+<a name="SlideLayout"></a>
+                <a name="Create+a+new+slide+from+a+predefined+slide+layout"></a>
+<div class="h2">
+<h2>Create a new slide from a predefined slide layout</h2>
+</div>
+                  
+<pre class="code">
+    XMLSlideShow ppt = new XMLSlideShow(new FileInputStream("slideshow.pptx"));
+
+    // first see what slide layouts are available :
+    System.out.println("Available slide layouts:");
+    for(XSLFSlideMaster master : ppt.getSlideMasters()){
+        for(XSLFSlideLayout layout : master.getSlideLayouts()){
+            System.out.println(layout.getType());
+        }
+    }
+
+    // blank slide
+    XSLFSlide blankSlide = ppt.createSlide();
+
+    // there can be multiple masters each referencing a number of layouts
+    // for demonstration purposes we use the first (default) slide master
+    XSLFSlideMaster defaultMaster = ppt.getSlideMasters()[0];
+
+    // title slide
+    XSLFSlideLayout titleLayout = defaultMaster.getLayout(SlideLayout.TITLE);
+    // fill the placeholders
+    XSLFSlide slide1 = ppt.createSlide(titleLayout);
+    XSLFTextShape title1 = slide1.getPlaceholder(0);
+    title1.setText("First Title");
+
+    // title and content
+    XSLFSlideLayout titleBodyLayout = defaultMaster.getLayout(SlideLayout.TITLE_AND_CONTENT);
+    XSLFSlide slide2 = ppt.createSlide(titleBodyLayout);
+
+    XSLFTextShape title2 = slide2.getPlaceholder(0);
+    title2.setText("Second Title");
+
+    XSLFTextShape body2 = slide2.getPlaceholder(1);
+    body2.clearText(); // unset any existing text
+    body2.addNewTextParagraph().addNewTextRun().setText("First paragraph");
+    body2.addNewTextParagraph().addNewTextRun().setText("Second paragraph");
+    body2.addNewTextParagraph().addNewTextRun().setText("Third paragraph");
+                </pre>
+                
+
+                
+<a name="DeleteSlide"></a>
+                <a name="Delete+slide"></a>
+<div class="h2">
+<h2>Delete slide</h2>
+</div>
+                  
+<pre class="code">
+    XMLSlideShow ppt = new XMLSlideShow(new FileInputStream("slideshow.pptx"));
+
+    ppt.removeSlide(0); // 0-based index of a slide to be removed
+                </pre>
+                
+
+                
+<a name="MoveSlide"></a>
+                <a name="Re-order+slides"></a>
+<div class="h2">
+<h2>Re-order slides</h2>
+</div>
+                  
+<pre class="code">
+    XMLSlideShow ppt = new XMLSlideShow(new FileInputStream("slideshow.pptx"));
+    XSLFSlide[] slides = ppt.getSlides();
+
+    XSLFSlide thirdSlide = slides[2];
+    ppt.setSlideOrder(thirdSlide, 0); // move the third slide to the beginning
+                </pre>
+                
+
+                
+<a name="SlideSize"></a>
+                <a name="How+to+retrieve+or+change+slide+size"></a>
+<div class="h2">
+<h2>How to retrieve or change slide size</h2>
+</div>
+                    
+<pre class="code">
+    XMLSlideShow ppt = new XMLSlideShow();
+    //retrieve page size. Coordinates are expressed in points (72 dpi)
+    java.awt.Dimension pgsize = ppt.getPageSize();
+    int pgx = pgsize.width; //slide width in points
+    int pgy = pgsize.height; //slide height in points
+
+    //set new page size
+    ppt.setPageSize(new java.awt.Dimension(1024, 768));
+                  </pre>
+                
+                
+<a name="GetShapes"></a>
+                <a name="How+to+read+shapes+contained+in+a+particular+slide"></a>
+<div class="h2">
+<h2>How to read shapes contained in a particular slide</h2>
+</div>
+                  
+<p>
+                    The following code demonstrates how to iterate over shapes for each slide.
+                  </p>
+                    
+<pre class="code">
+  XMLSlideShow ppt = new XMLSlideShow(new FileInputStream("slideshow.pptx"));
+  //get slides 
+  XSLFSlide[] slide = ppt.getSlides();
+  for (int i = 0; i &lt; slide.length; i++){
+    XSLFShape[] sh = slide[i].getShapes();
+    for (int j = 0; j &lt; sh.length; j++){
+      //name of the shape
+      String name = sh[j].getShapeName();
+
+      //shapes's anchor which defines the position of this shape in the slide
+      java.awt.geom.Rectangle2D anchor = sh[j].getAnchor();
+
+      if (sh[j] instanceof XSLFConnectorShape){
+        XSLFConnectorShape line = (XSLFConnectorShape)sh[j];
+        //work with Line
+      } else if (sh[j] instanceof XSLFTextShape){
+        XSLFTextShape shape = (XSLFTextShape)sh[j];
+        //work with a shape that can hold text
+      } else if (sh[j] instanceof XSLFPictureShape){
+        XSLFPictureShape shape = (XSLFPictureShape)sh[j];
+        //work with Picture
+      }
+    }
+  }
+                  </pre>
+                
+                
+<a name="AddImage"></a>
+                <a name="Add+Image+to+Slide"></a>
+<div class="h2">
+<h2>Add Image to Slide</h2>
+</div>
+                    
+<pre class="code">
+        XMLSlideShow ppt = new XMLSlideShow();
+        XSLFSlide slide = ppt.createSlide();
+        
+        byte[] pictureData = IOUtils.toByteArray(new FileInputStream("image.png"));
+
+        int idx = ppt.addPicture(pictureData, XSLFPictureData.PICTURE_TYPE_PNG);
+        XSLFPictureShape pic = slide.createPicture(idx);
+                    </pre>
+                
+
+                
+<a name="ReadImages"></a>
+                <a name="Read+Images+contained+within+a+presentation"></a>
+<div class="h2">
+<h2>Read Images contained within a presentation</h2>
+</div>
+                    
+<pre class="code">
+        XMLSlideShow ppt = new XMLSlideShow(new FileInputStream("slideshow.pptx"));
+        for(XSLFPictureData data : ppt.getAllPictures()){
+            byte[] bytes = data.getData();
+            String fileName = data.getFileName();
+            
+        }
+                    </pre>
+                
+
+         
+<a name="Text"></a>
+                <a name="Basic+text+formatting"></a>
+<div class="h2">
+<h2>Basic text formatting</h2>
+</div>
+                    
+<pre class="code">
+    XMLSlideShow ppt = new XMLSlideShow();
+    XSLFSlide slide = ppt.createSlide();
+
+    XSLFTextBox shape = slide.createTextBox();
+    XSLFTextParagraph p = shape.addNewTextParagraph();
+
+    XSLFTextRun r1 = p.addNewTextRun();
+    r1.setText("The");
+    r1.setFontColor(Color.blue);
+    r1.setFontSize(24);
+
+    XSLFTextRun r2 = p.addNewTextRun();
+    r2.setText(" quick");
+    r2.setFontColor(Color.red);
+    r2.setBold(true);
+
+    XSLFTextRun r3 = p.addNewTextRun();
+    r3.setText(" brown");
+    r3.setFontSize(12);
+    r3.setItalic(true);
+    r3.setStrikethrough(true);
+    
+    XSLFTextRun r4 = p.addNewTextRun();
+    r4.setText(" fox");
+    r4.setUnderline(true);
+            </pre>
+                
+                
+<a name="Hyperlinks"></a>
+                <a name="How+to+read+hyperlinks+from+a+slide+show"></a>
+<div class="h2">
+<h2>How to read hyperlinks from a slide show</h2>
+</div>
+                    
+<pre class="code">
+    XMLSlideShow ppt = new XMLSlideShow();
+    XSLFSlide slide = ppt.createSlide();
+
+    // assign a hyperlink to a text run
+    XSLFTextBox shape = slide.createTextBox();
+    XSLFTextRun r = shape.addNewTextParagraph().addNewTextRun();
+    r.setText("Apache POI");
+    XSLFHyperlink link = r.createHyperlink();
+    link.setAddress("http://poi.apache.org");
+                </pre>
+                
+                
+<a name="PPTX2PNG"></a>
+                <a name="PPTX2PNG+is+an+application+that+converts+each+slide+of+a+.pptx+slideshow+into+a+PNG+image"></a>
+<div class="h2">
+<h2>PPTX2PNG is an application that converts each slide of a .pptx slideshow into a PNG image</h2>
+</div>
+                
+<pre class="code">
+Usage: PPTX2PNG [options] &lt;pptx file&gt;
+Options:
+    -scale &lt;float&gt;   scale factor (default is 1.0)
+    -slide &lt;integer&gt; 1-based index of a slide to render. Default is to render all slides.
+                </pre>
+                
+<p>How it works:</p>
+                
+<p>
+                    The XSLFSlide object implements a draw(Graphics2D graphics) method that recursively paints all shapes
+                    in the slide into the supplied graphics canvas:
+                </p>
+                
+<pre class="code">
+            slide.draw(graphics);
+                </pre>
+                
+<p>
+                where graphics is a class implementing java.awt.Graphics2D. In PPTX2PNG the graphic canvas is derived from
+                java.awt.image.BufferedImage, i.e. the destination is an image in memory, but in general case you can pass
+                any compliant implementation of  java.awt.Graphics2D. The 
+                <a href="http://svn.apache.org/repos/asf/poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/PPTX2SVG.txt">PPTX2SVG</a>
+                example demonstrates how to use Apache Batik to convert .pptx slides into SVG format. 
+                </p>
+                
+                
+<a name="Merge"></a>
+                <a name="Merge+multiple+presentations+together"></a>
+<div class="h2">
+<h2>Merge multiple presentations together</h2>
+</div>
+                    
+                    
+<pre class="code">
+    XMLSlideShow ppt = new XMLSlideShow();
+    String[] inputs = {"presentations1.pptx", "presentation2.pptx"};
+    for(String arg : inputs){
+        FileInputStream is = new FileInputStream(arg);
+        XMLSlideShow src = new XMLSlideShow(is);
+        is.close();
+
+        for(XSLFSlide srcSlide : src.getSlides()){
+            ppt.createSlide().importContent(srcSlide);
+        }
+    }
+
+    FileOutputStream out = new FileOutputStream("merged.pptx");
+    ppt.write(out);
+    out.close();
+                    </pre>
+                
+
+            
+        
+    
+
+<div id="authors" align="right">by&nbsp;Yegor Kozlov</div>
+</div>
+</div>
+</div>
+</td>
+<!--================= end Content ==================-->
+</tr>
+</tbody>
+</table>
+<!--================= end Main ==================-->
+<!--================= start Footer ==================-->
+<div id="footer">
+<table summary="footer" cellspacing="0" cellpadding="4" width="100%" border="0">
+<tbody>
+<tr>
+<!--================= start Copyright ==================-->
+<td colspan="2">
+<div align="center">
+<div class="copyright">
+              Copyright &copy; 2002-2012&nbsp;The Apache Software Foundation. All rights reserved.<br>
+              Apache POI, POI, Apache, the Apache feather logo, and the Apache 
+              POI project logo are trademarks of The Apache Software Foundation.
+            </div>
+</div>
+</td>
+<!--================= end Copyright ==================-->
+</tr>
+<tr>
+<td align="left">
+<!--================= start Host ==================-->
+<!--================= end Host ==================--></td><td align="right">
+<!--================= start Credits ==================-->
+<div align="right">
+<div class="credit"></div>
+</div>
+<!--================= end Credits ==================-->
+</td>
+</tr>
+</tbody>
+</table>
+</div>
+<!--================= end Footer ==================-->
+</body>
+</html>

Propchange: poi/site/publish/slideshow/xslf-cookbook.html
------------------------------------------------------------------------------
    svn:executable = *

Added: poi/site/publish/spreadsheet/chart.html
URL: http://svn.apache.org/viewvc/poi/site/publish/spreadsheet/chart.html?rev=1423805&view=auto
==============================================================================
--- poi/site/publish/spreadsheet/chart.html (added)
+++ poi/site/publish/spreadsheet/chart.html Wed Dec 19 09:27:20 2012
@@ -0,0 +1,1766 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<!--*** This is a generated file.  Do not edit.  ***-->
+<link rel="stylesheet" href="../skin/tigris.css" type="text/css">
+<link rel="stylesheet" href="../skin/mysite.css" type="text/css">
+<link rel="stylesheet" href="../skin/site.css" type="text/css">
+<link media="print" rel="stylesheet" href="../skin/print.css" type="text/css">
+<title>Chart record information</title>
+</head>
+<body bgcolor="white" class="composite">
+<!--================= start Banner ==================-->
+<div id="banner">
+<table width="100%" cellpadding="8" cellspacing="0" summary="banner" border="0">
+<tbody>
+<tr>
+<!--================= start Group Logo ==================-->
+<td width="50%" align="left">
+<div class="groupLogo">
+<a href="http://poi.apache.org"><img border="0" class="logoImage" alt="Apache POI" src="../resources/images/group-logo.jpg"></a>
+</div>
+</td>
+<!--================= end Group Logo ==================-->
+<!--================= start Project Logo ==================--><td width="50%" align="right">
+<div align="right" class="projectLogo">
+<a href="http://poi.apache.org/"><img border="0" class="logoImage" alt="POI" src="../resources/images/project-logo.jpg"></a>
+</div>
+</td>
+<!--================= end Project Logo ==================-->
+</tr>
+</tbody>
+</table>
+</div>
+<!--================= end Banner ==================-->
+<!--================= start Main ==================-->
+<table width="100%" cellpadding="0" cellspacing="0" border="0" summary="nav" id="breadcrumbs">
+<tbody>
+<!--================= start Status ==================-->
+<tr class="status">
+<td>
+<!--================= start BreadCrumb ==================--><a href="http://www.apache.org/">Apache</a> | <a href="http://poi.apache.org/">POI</a><a href=""></a>
+<!--================= end BreadCrumb ==================--></td><td id="tabs">
+<!--================= start Tabs ==================-->
+<div class="tab">
+<span class="selectedTab"><a class="base-selected" href="../index.html">Home</a></span> | <script language="Javascript" type="text/javascript">
+function printit() {  
+if (window.print) {
+    window.print() ;  
+} else {
+    var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH="0" HEIGHT="0" CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
+document.body.insertAdjacentHTML('beforeEnd', WebBrowser);
+    WebBrowser1.ExecWB(6, 2);//Use a 1 vs. a 2 for a prompting dialog box    WebBrowser1.outerHTML = "";  
+}
+}
+</script><script language="Javascript" type="text/javascript">
+var NS = (navigator.appName == "Netscape");
+var VERSION = parseInt(navigator.appVersion);
+if (VERSION > 3) {
+    document.write('  <a title="PRINT this page OUT" href="javascript:printit()">PRINT</a>');
+}
+</script>
+</div>
+<!--================= end Tabs ==================-->
+</td>
+</tr>
+</tbody>
+</table>
+<!--================= end Status ==================-->
+<table id="main" width="100%" cellpadding="8" cellspacing="0" summary="" border="0">
+<tbody>
+<tr valign="top">
+<!--================= start Menu ==================-->
+<td id="leftcol">
+<div id="navcolumn">
+<div class="menuBar">
+<div class="menu">
+<span class="menuLabel">Apache POI</span>
+        
+<div class="menuItem">
+<a href="../index.html">Top</a>
+</div>
+    
+</div>
+<div class="menu">
+<span class="menuLabel">HSSF+XSSF</span>
+        
+<div class="menuItem">
+<a href="index.html">Overview</a>
+</div>
+        
+<div class="menuItem">
+<a href="quick-guide.html">Quick Guide</a>
+</div>
+        
+<div class="menuItem">
+<a href="how-to.html">HOWTO</a>
+</div>
+        
+<div class="menuItem">
+<a href="converting.html">HSSF to SS Converting</a>
+</div>
+        
+<div class="menuItem">
+<a href="formula.html">Formula Support</a>
+</div>
+        
+<div class="menuItem">
+<a href="eval.html">Formula Evaluation</a>
+</div>
+		    
+<div class="menuItem">
+<a href="eval-devguide.html">Eval Dev Guide</a>
+</div>
+        
+<div class="menuItem">
+<a href="examples.html">Examples</a>
+</div>
+        
+<div class="menuItem">
+<a href="use-case.html">Use Case</a>
+</div>
+        
+<div class="menuItem">
+<a href="diagrams.html">Pictorial Docs</a>
+</div>
+        
+<div class="menuItem">
+<a href="limitations.html">Limitations</a>
+</div>
+        
+<div class="menuItem">
+<a href="user-defined-functions.html">User Defined Functions</a>
+</div>
+        
+<div class="menuItem">
+<a href="excelant.html">ExcelAnt Tests</a>
+</div>
+    
+</div>
+<div class="menu">
+<span class="menuLabel">Contributer's Guide</span>
+        
+<div class="menuItem">
+<a href="hacking-hssf.html">Hacking HSSF</a>
+</div>
+        
+<div class="menuItem">
+<a href="record-generator.html">Record Generator</a>
+</div>
+        
+<div class="menuItem">
+<span class="menuSelected">Charts</span>
+</div>
+    
+</div>
+</div>
+</div>
+<form target="_blank" action="http://www.google.com/search" method="get">
+<table summary="search" border="0" cellspacing="0" cellpadding="0">
+<tr>
+<td><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td><td nowrap="nowrap">
+                          Search Apache POI<br>
+<input value="poi.apache.org" name="sitesearch" type="hidden"><input size="10" name="q" id="query" type="text"><img height="1" width="5" alt="" src="../skin/images/spacer.gif" class="spacer"><input name="Search" value="GO" type="submit"></td><td><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td colspan="3"><img height="7" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td class="bottom-left-thick"></td><td bgcolor="#a5b6c6"><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td><td class="bottom-right-thick"></td>
+</tr>
+</table>
+</form>
+</td>
+<!--================= end Menu ==================-->
+<!--================= start Content ==================--><td>
+<div id="bodycol">
+<div class="app">
+<div align="center">
+<h1>Chart record information</h1>
+</div>
+<div class="h3">
+    
+    
+        
+<a name="Introduction"></a>
+<div class="h3">
+<h3>Introduction</h3>
+</div>
+            
+<p>
+                This document is intended as a work in progress for describing
+                our current understanding of how the chart records are are
+                written to produce a valid chart.
+            </p>
+        
+        
+<a name="Bar+chart"></a>
+<div class="h3">
+<h3>Bar chart</h3>
+</div>
+            
+<p>
+                The following records detail the records written for a
+                'simple' bar chart.
+            </p>
+            
+<pre class="code">
+
+    ============================================
+    rectype = 0xec, recsize = 0xc8
+    -BEGIN DUMP---------------------------------
+    00000000 0F 00 02 F0 C0 00 00 00 10 00 08 F0 08 00 00 00 ................
+    00000010 02 00 00 00 02 04 00 00 0F 00 03 F0 A8 00 00 00 ................
+    00000020 0F 00 04 F0 28 00 00 00 01 00 09 F0 10 00 00 00 ....(...........
+    00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
+    00000040 02 00 0A F0 08 00 00 00 00 04 00 00 05 00 00 00 ................
+    00000050 0F 00 04 F0 70 00 00 00 92 0C 0A F0 08 00 00 00 ....p...........
+    00000060 02 04 00 00 00 0A 00 00 93 00 0B F0 36 00 00 00 ............6...
+    00000070 7F 00 04 01 04 01 BF 00 08 00 08 00 81 01 4E 00 ..............N.
+    00000080 00 08 83 01 4D 00 00 08 BF 01 10 00 11 00 C0 01 ....M...........
+    00000090 4D 00 00 08 FF 01 08 00 08 00 3F 02 00 00 02 00 M.........?.....
+    000000A0 BF 03 00 00 08 00 00 00 10 F0 12 00 00 00 00 00 ................
+    000000B0 04 00 C0 02 0A 00 F4 00 0E 00 66 01 20 00 E9 00 ..........f. ...
+    000000C0 00 00 11 F0 00 00 00 00                         ........
+    -END DUMP-----------------------------------
+    recordid = 0xec, size =200
+    [UNKNOWN RECORD:ec]
+        .id        = ec
+    [/UNKNOWN RECORD]
+
+    ============================================
+    rectype = 0x5d, recsize = 0x1a
+    -BEGIN DUMP---------------------------------
+    00000000 15 00 12 00 05 00 02 00 11 60 00 00 00 00 B8 03 .........`......
+    00000010 87 03 00 00 00 00 00 00 00 00                   ..........
+    -END DUMP-----------------------------------
+    recordid = 0x5d, size =26
+    [UNKNOWN RECORD:5d]
+        .id        = 5d
+    [/UNKNOWN RECORD]
+
+    ============================================
+    rectype = 0x809, recsize = 0x10
+    -BEGIN DUMP---------------------------------
+    00000000 00 06 20 00 FE 1C CD 07 C9 40 00 00 06 01 00 00 .. ......@......
+    -END DUMP-----------------------------------
+    recordid = 0x809, size =16
+    [BOF RECORD]
+        .version         = 600
+        .type            = 20
+        .build           = 1cfe
+        .buildyear       = 1997
+        .history         = 40c9
+        .requiredversion = 106
+    [/BOF RECORD]
+
+    ============================================
+    rectype = 0x14, recsize = 0x0
+    -BEGIN DUMP---------------------------------
+    **NO RECORD DATA**
+    -END DUMP-----------------------------------
+    recordid = 0x14, size =0
+    [HEADER]
+        .length         = 0
+        .header         = null
+    [/HEADER]
+
+    ============================================
+    rectype = 0x15, recsize = 0x0
+    -BEGIN DUMP---------------------------------
+    **NO RECORD DATA**
+    -END DUMP-----------------------------------
+    recordid = 0x15, size =0
+    [FOOTER]
+        .footerlen      = 0
+        .footer         = null
+    [/FOOTER]
+
+    ============================================
+    rectype = 0x83, recsize = 0x2
+    -BEGIN DUMP---------------------------------
+    00000000 00 00                                           ..
+    -END DUMP-----------------------------------
+    recordid = 0x83, size =2
+    [HCENTER]
+        .hcenter        = false
+    [/HCENTER]
+
+    ============================================
+    rectype = 0x84, recsize = 0x2
+    -BEGIN DUMP---------------------------------
+    00000000 00 00                                           ..
+    -END DUMP-----------------------------------
+    recordid = 0x84, size =2
+    [VCENTER]
+        .vcenter        = false
+    [/VCENTER]
+
+    ============================================
+    rectype = 0xa1, recsize = 0x22
+    -BEGIN DUMP---------------------------------
+    00000000 00 00 12 00 01 00 01 00 01 00 04 00 00 00 B8 03 ................
+    00000010 00 00 00 00 00 00 E0 3F 00 00 00 00 00 00 E0 3F .......?.......?
+    00000020 0F 00                                           ..
+    -END DUMP-----------------------------------
+    recordid = 0xa1, size =34
+    [PRINTSETUP]
+        .papersize      = 0
+        .scale          = 18
+        .pagestart      = 1
+        .fitwidth       = 1
+        .fitheight      = 1
+        .options        = 4
+            .ltor       = false
+            .landscape  = false
+            .valid      = true
+            .mono       = false
+            .draft      = false
+            .notes      = false
+            .noOrientat = false
+            .usepage    = false
+        .hresolution    = 0
+        .vresolution    = 952
+        .headermargin   = 0.5
+        .footermargin   = 0.5
+        .copies         = 15
+    [/PRINTSETUP]
+
+	<!-- Comment to avoid forrest bug -->
+    ============================================
+    rectype = 0x33, recsize = 0x2
+    -BEGIN DUMP---------------------------------
+    00000000 03 00                                           ..
+    -END DUMP-----------------------------------
+    recordid = 0x33, size =2
+    [UNKNOWN RECORD:33]
+        .id        = 33
+    [/UNKNOWN RECORD]
+
+    ============================================
+    rectype = 0x1060, recsize = 0xa
+    -BEGIN DUMP---------------------------------
+    00000000 A0 23 08 16 C8 00 00 00 05 00                   .#........
+    -END DUMP-----------------------------------
+    recordid = 0x1060, size =10
+    [FBI]
+        .xBasis               = 0x23A0 (9120 )
+        .yBasis               = 0x1608 (5640 )
+        .heightBasis          = 0x00C8 (200 )
+        .scale                = 0x0000 (0 )
+        .indexToFontTable     = 0x0005 (5 )
+    [/FBI]
+
+    ============================================
+    rectype = 0x1060, recsize = 0xa
+    -BEGIN DUMP---------------------------------
+    00000000 A0 23 08 16 C8 00 01 00 06 00                   .#........
+    -END DUMP-----------------------------------
+    recordid = 0x1060, size =10
+    [FBI]
+        .xBasis               = 0x23A0 (9120 )
+        .yBasis               = 0x1608 (5640 )
+        .heightBasis          = 0x00C8 (200 )
+        .scale                = 0x0001 (1 )
+        .indexToFontTable     = 0x0006 (6 )
+    [/FBI]
+
+    ============================================
+    rectype = 0x12, recsize = 0x2
+    -BEGIN DUMP---------------------------------
+    00000000 00 00                                           ..
+    -END DUMP-----------------------------------
+    recordid = 0x12, size =2
+    [PROTECT]
+        .rowheight      = 0
+    [/PROTECT]
+
+    ============================================
+    Offset 0xf22 (3874)
+    rectype = 0x1001, recsize = 0x2
+    -BEGIN DUMP---------------------------------
+    00000000 00 00                                           ..
+    -END DUMP-----------------------------------
+    recordid = 0x1001, size =2
+    [UNITS]
+        .units                = 0x0000 (0 )
+    [/UNITS]
+
+    ============================================
+    Offset 0xf28 (3880)
+    rectype = 0x1002, recsize = 0x10
+    -BEGIN DUMP---------------------------------
+    00000000 00 00 00 00 00 00 00 00 58 66 D0 01 40 66 22 01 ........Xf..@f".
+    -END DUMP-----------------------------------
+    recordid = 0x1002, size =16
+    [CHART]
+        .x                    = 0x00000000 (0 )
+        .y                    = 0x00000000 (0 )
+        .width                = 0x01D06658 (30434904 )
+        .height               = 0x01226640 (19031616 )
+    [/CHART]
+
+    ============================================
+    Offset 0xf3c (3900)
+    rectype = 0x1033, recsize = 0x0
+    -BEGIN DUMP---------------------------------
+    **NO RECORD DATA**
+    -END DUMP-----------------------------------
+    recordid = 0x1033, size =0
+    [BEGIN]
+    [/BEGIN]
+
+    ============================================
+    Offset 0xf40 (3904)
+    rectype = 0xa0, recsize = 0x4
+    -BEGIN DUMP---------------------------------
+    00000000 01 00 01 00                                     ....
+    -END DUMP-----------------------------------
+    recordid = 0xa0, size =4
+    [SCL]
+        .numerator            = 0x0001 (1 )
+        .denominator          = 0x0001 (1 )
+    [/SCL]
+
+	<!-- Comment to avoid forrest bug -->
+    ============================================
+    Offset 0xf48 (3912)
+    rectype = 0x1064, recsize = 0x8
+    -BEGIN DUMP---------------------------------
+    00000000 00 00 01 00 00 00 01 00                         ........
+    -END DUMP-----------------------------------
+    recordid = 0x1064, size =8
+    [PLOTGROWTH]
+        .horizontalScale      = 0x00010000 (65536 )
+        .verticalScale        = 0x00010000 (65536 )
+    [/PLOTGROWTH]
+
+    ============================================
+    Offset 0xf54 (3924)
+    rectype = 0x1032, recsize = 0x4
+    -BEGIN DUMP---------------------------------
+    00000000 00 00 02 00                                     ....
+    -END DUMP-----------------------------------
+    recordid = 0x1032, size =4
+    [FRAME]
+        .borderType           = 0x0000 (0 )
+        .options              = 0x0002 (2 )
+             .autoSize                 = false
+             .autoPosition             = true
+    [/FRAME]
+
+    ============================================
+    Offset 0xf5c (3932)
+    rectype = 0x1033, recsize = 0x0
+    -BEGIN DUMP---------------------------------
+    **NO RECORD DATA**
+    -END DUMP-----------------------------------
+    recordid = 0x1033, size =0
+    [BEGIN]
+    [/BEGIN]
+
+    ============================================
+    Offset 0xf60 (3936)
+    rectype = 0x1007, recsize = 0xc
+    -BEGIN DUMP---------------------------------
+    00000000 00 00 00 00 00 00 FF FF 09 00 4D 00             ..........M.
+    -END DUMP-----------------------------------
+    recordid = 0x1007, size =12
+    [LINEFORMAT]
+        .lineColor            = 0x00000000 (0 )
+        .linePattern          = 0x0000 (0 )
+        .weight               = 0xFFFF (-1 )
+        .format               = 0x0009 (9 )
+             .auto                     = true
+             .drawTicks                = false
+             .unknown                  = false
+        .colourPaletteIndex   = 0x004D (77 )
+    [/LINEFORMAT]
+
+    ============================================
+    Offset 0xf70 (3952)
+    rectype = 0x100a, recsize = 0x10
+    -BEGIN DUMP---------------------------------
+    00000000 FF FF FF 00 00 00 00 00 01 00 01 00 4E 00 4D 00 ............N.M.
+    -END DUMP-----------------------------------
+    recordid = 0x100a, size =16
+    [AREAFORMAT]
+        .foregroundColor      = 0x00FFFFFF (16777215 )
+        .backgroundColor      = 0x00000000 (0 )
+        .pattern              = 0x0001 (1 )
+        .formatFlags          = 0x0001 (1 )
+             .automatic                = true
+             .invert                   = false
+        .forecolorIndex       = 0x004E (78 )
+        .backcolorIndex       = 0x004D (77 )
+    [/AREAFORMAT]
+
+    ============================================
+    Offset 0xf84 (3972)
+    rectype = 0x1034, recsize = 0x0
+    -BEGIN DUMP---------------------------------
+    **NO RECORD DATA**
+    -END DUMP-----------------------------------
+    recordid = 0x1034, size =0
+    [END]
+    [/END]
+
+    ============================================
+    Offset 0xf88 (3976)
+    rectype = 0x1003, recsize = 0xc
+    -BEGIN DUMP---------------------------------
+    00000000 01 00 01 00 20 00 1F 00 01 00 00 00             .... .......
+    -END DUMP-----------------------------------
+    recordid = 0x1003, size =12
+    [SERIES]
+        .categoryDataType     = 0x0001 (1 )
+        .valuesDataType       = 0x0001 (1 )
+        .numCategories        = 0x0020 (32 )
+        .numValues            = 0x001F (31 )
+        .bubbleSeriesType     = 0x0001 (1 )
+        .numBubbleValues      = 0x0000 (0 )
+    [/SERIES]
+
+    ============================================
+    Offset 0xf98 (3992)
+    rectype = 0x1033, recsize = 0x0
+    -BEGIN DUMP---------------------------------
+    **NO RECORD DATA**
+    -END DUMP-----------------------------------
+    recordid = 0x1033, size =0
+    [BEGIN]
+    [/BEGIN]
+
+	<!-- Comment to avoid forrest bug -->
+    ============================================
+    Offset 0xf9c (3996)
+    rectype = 0x1051, recsize = 0x8
+    -BEGIN DUMP---------------------------------
+    00000000 00 01 00 00 00 00 00 00                         ........
+    -END DUMP-----------------------------------
+    recordid = 0x1051, size =8
+    [AI]
+        .linkType             = 0x00 (0 )
+        .referenceType        = 0x01 (1 )
+        .options              = 0x0000 (0 )
+             .customNumberFormat       = false
+        .indexNumberFmtRecord = 0x0000 (0 )
+        .formulaOfLink        =  (org.apache.poi.hssf.record.LinkedDataFormulaField@1ee3914 )
+    [/AI]
+
+    ============================================
+    Offset 0xfa8 (4008)
+    rectype = 0x1051, recsize = 0x13
+    -BEGIN DUMP---------------------------------
+    00000000 01 02 00 00 00 00 0B 00 3B 00 00 00 00 1E 00 01 ........;.......
+    00000010 00 01 00                                        ...
+    -END DUMP-----------------------------------
+    recordid = 0x1051, size =19
+    [AI]
+        .linkType             = 0x01 (1 )
+        .referenceType        = 0x02 (2 )
+        .options              = 0x0000 (0 )
+             .customNumberFormat       = false
+        .indexNumberFmtRecord = 0x0000 (0 )
+        .formulaOfLink        =  (org.apache.poi.hssf.record.LinkedDataFormulaField@e5855a )
+    [/AI]
+
+    ============================================
+    Offset 0xfbf (4031)
+    rectype = 0x1051, recsize = 0x13
+    -BEGIN DUMP---------------------------------
+    00000000 02 02 00 00 69 01 0B 00 3B 00 00 00 00 1F 00 00 ....i...;.......
+    00000010 00 00 00                                        ...
+    -END DUMP-----------------------------------
+    recordid = 0x1051, size =19
+    [AI]
+        .linkType             = 0x02 (2 )
+        .referenceType        = 0x02 (2 )
+        .options              = 0x0000 (0 )
+             .customNumberFormat       = false
+        .indexNumberFmtRecord = 0x0169 (361 )
+        .formulaOfLink        =  (org.apache.poi.hssf.record.LinkedDataFormulaField@95fd19 )
+    [/AI]
+
+    ============================================
+    Offset 0xfd6 (4054)
+    rectype = 0x1051, recsize = 0x8
+    -BEGIN DUMP---------------------------------
+    00000000 03 01 00 00 00 00 00 00                         ........
+    -END DUMP-----------------------------------
+    recordid = 0x1051, size =8
+    [AI]
+        .linkType             = 0x03 (3 )
+        .referenceType        = 0x01 (1 )
+        .options              = 0x0000 (0 )
+             .customNumberFormat       = false
+        .indexNumberFmtRecord = 0x0000 (0 )
+        .formulaOfLink        =  (org.apache.poi.hssf.record.LinkedDataFormulaField@11b9fb1 )
+    [/AI]
+
+    ============================================
+    Offset 0xfe2 (4066)
+    rectype = 0x1006, recsize = 0x8
+    -BEGIN DUMP---------------------------------
+    00000000 FF FF 00 00 00 00 00 00                         ........
+    -END DUMP-----------------------------------
+    recordid = 0x1006, size =8
+    [DATAFORMAT]
+        .pointNumber          = 0xFFFF (-1 )
+        .seriesIndex          = 0x0000 (0 )
+        .seriesNumber         = 0x0000 (0 )
+        .formatFlags          = 0x0000 (0 )
+             .useExcel4Colors          = false
+    [/DATAFORMAT]
+
+    ============================================
+    Offset 0xfee (4078)
+    rectype = 0x1033, recsize = 0x0
+    -BEGIN DUMP---------------------------------
+    **NO RECORD DATA**
+    -END DUMP-----------------------------------
+    recordid = 0x1033, size =0
+    [BEGIN]
+    [/BEGIN]
+
+    ============================================
+    Offset 0xff2 (4082)
+    rectype = 0x105f, recsize = 0x2
+    -BEGIN DUMP---------------------------------
+    00000000 00 00                                           ..
+    -END DUMP-----------------------------------
+    recordid = 0x105f, size =2
+    [UNKNOWN RECORD]
+        .id        = 105f
+    [/UNKNOWN RECORD]
+
+    ============================================
+    Offset 0xff8 (4088)
+    rectype = 0x1034, recsize = 0x0
+    -BEGIN DUMP---------------------------------
+    **NO RECORD DATA**
+    -END DUMP-----------------------------------
+    recordid = 0x1034, size =0
+    [END]
+    [/END]
+
+    ============================================
+    Offset 0xffc (4092)
+    rectype = 0x1045, recsize = 0x2
+    -BEGIN DUMP---------------------------------
+    00000000 00 00                                           ..
+    -END DUMP-----------------------------------
+    recordid = 0x1045, size =2
+    [SeriesToChartGroup]
+        .chartGroupIndex      = 0x0000 (0 )
+    [/SeriesToChartGroup]
+
+    ============================================
+    Offset 0x1002 (4098)
+    rectype = 0x1034, recsize = 0x0
+    -BEGIN DUMP---------------------------------
+    **NO RECORD DATA**
+    -END DUMP-----------------------------------
+    recordid = 0x1034, size =0
+    [END]
+    [/END]
+
+    ============================================
+    Offset 0x1006 (4102)
+    rectype = 0x1044, recsize = 0x4
+    -BEGIN DUMP---------------------------------
+    00000000 0A 00 00 00                                     ....
+    -END DUMP-----------------------------------
+    recordid = 0x1044, size =4
+    [SHTPROPS]
+        .flags                = 0x000A (10 )
+             .chartTypeManuallyFormatted     = false
+             .plotVisibleOnly          = true
+             .doNotSizeWithWindow      = false
+             .defaultPlotDimensions     = true
+             .autoPlotArea             = false
+        .empty                = 0x00 (0 )
+    [/SHTPROPS]
+
+    ============================================
+    Offset 0x100e (4110)
+    rectype = 0x1024, recsize = 0x2
+    -BEGIN DUMP---------------------------------
+    00000000 02 00                                           ..
+    -END DUMP-----------------------------------
+    recordid = 0x1024, size =2
+    [DEFAULTTEXT]
+        .categoryDataType     = 0x0002 (2 )
+    [/DEFAULTTEXT]
+
+    ============================================
+    Offset 0x1014 (4116)
+    rectype = 0x1025, recsize = 0x20
+    -BEGIN DUMP---------------------------------
+    00000000 02 02 01 00 00 00 00 00 DB FF FF FF C4 FF FF FF ................
+    00000010 00 00 00 00 00 00 00 00 B1 00 4D 00 50 2B 00 00 ..........M.P+..
+    -END DUMP-----------------------------------
+    recordid = 0x1025, size =32
+    [TEXT]
+        .horizontalAlignment  = 0x02 (2 )
+        .verticalAlignment    = 0x02 (2 )
+        .displayMode          = 0x0001 (1 )
+        .rgbColor             = 0x00000000 (0 )
+        .x                    = 0xFFFFFFDB (-37 )
+        .y                    = 0xFFFFFFC4 (-60 )
+        .width                = 0x00000000 (0 )
+        .height               = 0x00000000 (0 )
+        .options1             = 0x00B1 (177 )
+             .autoColor                = true
+             .showKey                  = false
+             .showValue                = false
+             .vertical                 = false
+             .autoGeneratedText        = true
+             .generated                = true
+             .autoLabelDeleted         = false
+             .autoBackground           = true
+             .rotation                 = 0
+             .showCategoryLabelAsPercentage     = false
+             .showValueAsPercentage     = false
+             .showBubbleSizes          = false
+             .showLabel                = false
+        .indexOfColorValue    = 0x004D (77 )
+        .options2             = 0x2B50 (11088 )
+             .dataLabelPlacement       = 0
+        .textRotation         = 0x0000 (0 )
+    [/TEXT]
+
+    ============================================
+    Offset 0x1038 (4152)
+    rectype = 0x1033, recsize = 0x0
+    -BEGIN DUMP---------------------------------
+    **NO RECORD DATA**
+    -END DUMP-----------------------------------
+    recordid = 0x1033, size =0
+    [BEGIN]
+    [/BEGIN]
+
+	<!-- Comment to avoid forrest bug -->
+    ============================================
+    Offset 0x103c (4156)
+    rectype = 0x104f, recsize = 0x14
+    -BEGIN DUMP---------------------------------
+    00000000 02 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
+    00000010 00 00 00 00                                     ....
+    -END DUMP-----------------------------------
+    recordid = 0x104f, size =20
+    [UNKNOWN RECORD]
+        .id        = 104f
+    [/UNKNOWN RECORD]
+
+    ============================================
+    Offset 0x1054 (4180)
+    rectype = 0x1026, recsize = 0x2
+    -BEGIN DUMP---------------------------------
+    00000000 05 00                                           ..
+    -END DUMP-----------------------------------
+    recordid = 0x1026, size =2
+    [FONTX]
+        .fontIndex            = 0x0005 (5 )
+    [/FONTX]
+
+    ============================================
+    Offset 0x105a (4186)
+    rectype = 0x1051, recsize = 0x8
+    -BEGIN DUMP---------------------------------
+    00000000 00 01 00 00 00 00 00 00                         ........
+    -END DUMP-----------------------------------
+    recordid = 0x1051, size =8
+    [AI]
+        .linkType             = 0x00 (0 )
+        .referenceType        = 0x01 (1 )
+        .options              = 0x0000 (0 )
+             .customNumberFormat       = false
+        .indexNumberFmtRecord = 0x0000 (0 )
+        .formulaOfLink        =  (org.apache.poi.hssf.record.LinkedDataFormulaField@913fe2 )
+    [/AI]
+
+    ============================================
+    Offset 0x1066 (4198)
+    rectype = 0x1034, recsize = 0x0
+    -BEGIN DUMP---------------------------------
+    **NO RECORD DATA**
+    -END DUMP-----------------------------------
+    recordid = 0x1034, size =0
+    [END]
+    [/END]
+
+    ============================================
+    Offset 0x106a (4202)
+    rectype = 0x1024, recsize = 0x2
+    -BEGIN DUMP---------------------------------
+    00000000 03 00                                           ..
+    -END DUMP-----------------------------------
+    recordid = 0x1024, size =2
+    [DEFAULTTEXT]
+        .categoryDataType     = 0x0003 (3 )
+    [/DEFAULTTEXT]
+
+    ============================================
+    Offset 0x1070 (4208)
+    rectype = 0x1025, recsize = 0x20
+    -BEGIN DUMP---------------------------------
+    00000000 02 02 01 00 00 00 00 00 DB FF FF FF C4 FF FF FF ................
+    00000010 00 00 00 00 00 00 00 00 B1 00 4D 00 50 2B 00 00 ..........M.P+..
+    -END DUMP-----------------------------------
+    recordid = 0x1025, size =32
+    [TEXT]
+        .horizontalAlignment  = 0x02 (2 )
+        .verticalAlignment    = 0x02 (2 )
+        .displayMode          = 0x0001 (1 )
+        .rgbColor             = 0x00000000 (0 )
+        .x                    = 0xFFFFFFDB (-37 )
+        .y                    = 0xFFFFFFC4 (-60 )
+        .width                = 0x00000000 (0 )
+        .height               = 0x00000000 (0 )
+        .options1             = 0x00B1 (177 )
+             .autoColor                = true
+             .showKey                  = false
+             .showValue                = false
+             .vertical                 = false
+             .autoGeneratedText        = true
+             .generated                = true
+             .autoLabelDeleted         = false
+             .autoBackground           = true
+             .rotation                 = 0
+             .showCategoryLabelAsPercentage     = false
+             .showValueAsPercentage     = false
+             .showBubbleSizes          = false
+             .showLabel                = false
+        .indexOfColorValue    = 0x004D (77 )
+        .options2             = 0x2B50 (11088 )
+             .dataLabelPlacement       = 0
+        .textRotation         = 0x0000 (0 )
+    [/TEXT]
+
+    ============================================
+    Offset 0x1094 (4244)
+    rectype = 0x1033, recsize = 0x0
+    -BEGIN DUMP---------------------------------
+    **NO RECORD DATA**
+    -END DUMP-----------------------------------
+    recordid = 0x1033, size =0
+    [BEGIN]
+    [/BEGIN]
+
+    ============================================
+    Offset 0x1098 (4248)
+    rectype = 0x104f, recsize = 0x14
+    -BEGIN DUMP---------------------------------
+    00000000 02 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
+    00000010 00 00 00 00                                     ....
+    -END DUMP-----------------------------------
+    recordid = 0x104f, size =20
+    [UNKNOWN RECORD]
+        .id        = 104f
+    [/UNKNOWN RECORD]
+
+    ============================================
+    Offset 0x10b0 (4272)
+    rectype = 0x1026, recsize = 0x2
+    -BEGIN DUMP---------------------------------
+    00000000 06 00                                           ..
+    -END DUMP-----------------------------------
+    recordid = 0x1026, size =2
+    [FONTX]
+        .fontIndex            = 0x0006 (6 )
+    [/FONTX]
+
+    ============================================
+    Offset 0x10b6 (4278)
+    rectype = 0x1051, recsize = 0x8
+    -BEGIN DUMP---------------------------------
+    00000000 00 01 00 00 00 00 00 00                         ........
+    -END DUMP-----------------------------------
+    recordid = 0x1051, size =8
+    [AI]
+        .linkType             = 0x00 (0 )
+        .referenceType        = 0x01 (1 )
+        .options              = 0x0000 (0 )
+             .customNumberFormat       = false
+        .indexNumberFmtRecord = 0x0000 (0 )
+        .formulaOfLink        =  (org.apache.poi.hssf.record.LinkedDataFormulaField@1f934ad )
+    [/AI]
+
+    ============================================
+    Offset 0x10c2 (4290)
+    rectype = 0x1034, recsize = 0x0
+    -BEGIN DUMP---------------------------------
+    **NO RECORD DATA**
+    -END DUMP-----------------------------------
+    recordid = 0x1034, size =0
+    [END]
+    [/END]
+
+    ============================================
+    Offset 0x10c6 (4294)
+    rectype = 0x1046, recsize = 0x2
+    -BEGIN DUMP---------------------------------
+    00000000 01 00                                           ..
+    -END DUMP-----------------------------------
+    recordid = 0x1046, size =2
+    [AXISUSED]
+        .numAxis              = 0x0001 (1 )
+    [/AXISUSED]
+
+    ============================================
+    Offset 0x10cc (4300)
+    rectype = 0x1041, recsize = 0x12
+    -BEGIN DUMP---------------------------------
+    00000000 00 00 DF 01 00 00 DD 00 00 00 B3 0B 00 00 56 0B ..............V.
+    00000010 00 00                                           ..
+    -END DUMP-----------------------------------
+    recordid = 0x1041, size =18
+    [AXISPARENT]
+        .axisType             = 0x0000 (0 )
+        .x                    = 0x000001DF (479 )
+        .y                    = 0x000000DD (221 )
+        .width                = 0x00000BB3 (2995 )
+        .height               = 0x00000B56 (2902 )
+    [/AXISPARENT]
+
+    ============================================
+    Offset 0x10e2 (4322)
+    rectype = 0x1033, recsize = 0x0
+    -BEGIN DUMP---------------------------------
+    **NO RECORD DATA**
+    -END DUMP-----------------------------------
+    recordid = 0x1033, size =0
+    [BEGIN]
+    [/BEGIN]
+
+    ============================================
+    Offset 0x10e6 (4326)
+    rectype = 0x104f, recsize = 0x14
+    -BEGIN DUMP---------------------------------
+    00000000 02 00 02 00 3A 00 00 00 5E 00 00 00 58 0D 00 00 ....:...^...X...
+    00000010 E5 0E 00 00                                     ....
+    -END DUMP-----------------------------------
+    recordid = 0x104f, size =20
+    [UNKNOWN RECORD]
+        .id        = 104f
+    [/UNKNOWN RECORD]
+
+    ============================================
+    Offset 0x10fe (4350)
+    rectype = 0x101d, recsize = 0x12
+    -BEGIN DUMP---------------------------------
+    00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
+    00000010 00 00                                           ..
+    -END DUMP-----------------------------------
+    recordid = 0x101d, size =18
+    [AXIS]
+        .axisType             = 0x0000 (0 )
+        .reserved1            = 0x00000000 (0 )
+        .reserved2            = 0x00000000 (0 )
+        .reserved3            = 0x00000000 (0 )
+        .reserved4            = 0x00000000 (0 )
+    [/AXIS]
+
+    ============================================
+    Offset 0x1114 (4372)
+    rectype = 0x1033, recsize = 0x0
+    -BEGIN DUMP---------------------------------
+    **NO RECORD DATA**
+    -END DUMP-----------------------------------
+    recordid = 0x1033, size =0
+    [BEGIN]
+    [/BEGIN]
+
+    ============================================
+    Offset 0x1118 (4376)
+    rectype = 0x1020, recsize = 0x8
+    -BEGIN DUMP---------------------------------
+    00000000 01 00 01 00 01 00 01 00                         ........
+    -END DUMP-----------------------------------
+    recordid = 0x1020, size =8
+    [CATSERRANGE]
+        .crossingPoint        = 0x0001 (1 )
+        .labelFrequency       = 0x0001 (1 )
+        .tickMarkFrequency    = 0x0001 (1 )
+        .options              = 0x0001 (1 )
+             .valueAxisCrossing        = true
+             .crossesFarRight          = false
+             .reversed                 = false
+    [/CATSERRANGE]
+
+    ============================================
+    Offset 0x1124 (4388)
+    rectype = 0x1062, recsize = 0x12
+    -BEGIN DUMP---------------------------------
+    00000000 1C 90 39 90 02 00 00 00 01 00 00 00 00 00 1C 90 ..9.............
+    00000010 FF 00                                           ..
+    -END DUMP-----------------------------------
+    recordid = 0x1062, size =18
+    [AXCEXT]
+        .minimumCategory      = 0x901C (-28644 )
+        .maximumCategory      = 0x9039 (-28615 )
+        .majorUnitValue       = 0x0002 (2 )
+        .majorUnit            = 0x0000 (0 )
+        .minorUnitValue       = 0x0001 (1 )
+        .minorUnit            = 0x0000 (0 )
+        .baseUnit             = 0x0000 (0 )
+        .crossingPoint        = 0x901C (-28644 )
+        .options              = 0x00FF (255 )
+             .defaultMinimum           = true
+             .defaultMaximum           = true
+             .defaultMajor             = true
+             .defaultMinorUnit         = true
+             .isDate                   = true
+             .defaultBase              = true
+             .defaultCross             = true
+             .defaultDateSettings      = true
+    [/AXCEXT]
+
+    ============================================
+    Offset 0x113a (4410)
+    rectype = 0x101e, recsize = 0x1e
+    -BEGIN DUMP---------------------------------
+    00000000 02 00 03 01 00 00 00 00 00 00 00 00 00 00 00 00 ................
+    00000010 00 00 00 00 00 00 00 00 23 00 4D 00 2D 00       ........#.M.-.
+    -END DUMP-----------------------------------
+    recordid = 0x101e, size =30
+    [TICK]
+        .majorTickType        = 0x02 (2 )
+        .minorTickType        = 0x00 (0 )
+        .labelPosition        = 0x03 (3 )
+        .background           = 0x01 (1 )
+        .labelColorRgb        = 0x00000000 (0 )
+        .zero1                = 0x0000 (0 )
+        .zero2                = 0x0000 (0 )
+        .options              = 0x0023 (35 )
+             .autoTextColor            = true
+             .autoTextBackground       = true
+             .rotation                 = 0
+             .autorotate               = true
+        .tickColor            = 0x004D (77 )
+        .zero3                = 0x002D (45 )
+    [/TICK]
+
+    ============================================
+    Offset 0x115c (4444)
+    rectype = 0x1034, recsize = 0x0
+    -BEGIN DUMP---------------------------------
+    **NO RECORD DATA**
+    -END DUMP-----------------------------------
+    recordid = 0x1034, size =0
+    [END]
+    [/END]
+
+    ============================================
+    Offset 0x1160 (4448)
+    rectype = 0x101d, recsize = 0x12
+    -BEGIN DUMP---------------------------------
+    00000000 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
+    00000010 00 00                                           ..
+    -END DUMP-----------------------------------
+    recordid = 0x101d, size =18
+    [AXIS]
+        .axisType             = 0x0001 (1 )
+        .reserved1            = 0x00000000 (0 )
+        .reserved2            = 0x00000000 (0 )
+        .reserved3            = 0x00000000 (0 )
+        .reserved4            = 0x00000000 (0 )
+    [/AXIS]
+
+	<!-- Comment to avoid forrest bug -->
+    ============================================
+    Offset 0x1176 (4470)
+    rectype = 0x1033, recsize = 0x0
+    -BEGIN DUMP---------------------------------
+    **NO RECORD DATA**
+    -END DUMP-----------------------------------
+    recordid = 0x1033, size =0
+    [BEGIN]
+    [/BEGIN]
+
+    ============================================
+    Offset 0x117a (4474)
+    rectype = 0x101f, recsize = 0x2a
+    -BEGIN DUMP---------------------------------
+    00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
+    00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
+    00000020 00 00 00 00 00 00 00 00 1F 01                   ..........
+    -END DUMP-----------------------------------
+    recordid = 0x101f, size =42
+    [VALUERANGE]
+        .minimumAxisValue     =  (0.0 )
+        .maximumAxisValue     =  (0.0 )
+        .majorIncrement       =  (0.0 )
+        .minorIncrement       =  (0.0 )
+        .categoryAxisCross    =  (0.0 )
+        .options              = 0x011F (287 )
+             .automaticMinimum         = true
+             .automaticMaximum         = true
+             .automaticMajor           = true
+             .automaticMinor           = true
+             .automaticCategoryCrossing     = true
+             .logarithmicScale         = false
+             .valuesInReverse          = false
+             .crossCategoryAxisAtMaximum     = false
+             .reserved                 = true
+    [/VALUERANGE]
+
+    ============================================
+    Offset 0x11a8 (4520)
+    rectype = 0x101e, recsize = 0x1e
+    -BEGIN DUMP---------------------------------
+    00000000 02 00 03 01 00 00 00 00 00 00 00 00 00 00 00 00 ................
+    00000010 00 00 00 00 00 00 00 00 23 00 4D 00 00 00       ........#.M...
+    -END DUMP-----------------------------------
+    recordid = 0x101e, size =30
+    [TICK]
+        .majorTickType        = 0x02 (2 )
+        .minorTickType        = 0x00 (0 )
+        .labelPosition        = 0x03 (3 )
+        .background           = 0x01 (1 )
+        .labelColorRgb        = 0x00000000 (0 )
+        .zero1                = 0x0000 (0 )
+        .zero2                = 0x0000 (0 )
+        .options              = 0x0023 (35 )
+             .autoTextColor            = true
+             .autoTextBackground       = true
+             .rotation                 = 0
+             .autorotate               = true
+        .tickColor            = 0x004D (77 )
+        .zero3                = 0x0000 (0 )
+    [/TICK]
+
+    ============================================
+    Offset 0x11ca (4554)
+    rectype = 0x1021, recsize = 0x2
+    -BEGIN DUMP---------------------------------
+    00000000 01 00                                           ..
+    -END DUMP-----------------------------------
+    recordid = 0x1021, size =2
+    [AXISLINEFORMAT]
+        .axisType             = 0x0001 (1 )
+    [/AXISLINEFORMAT]
+
+    ============================================
+    Offset 0x11d0 (4560)
+    rectype = 0x1007, recsize = 0xc
+    -BEGIN DUMP---------------------------------
+    00000000 00 00 00 00 00 00 FF FF 09 00 4D 00             ..........M.
+    -END DUMP-----------------------------------
+    recordid = 0x1007, size =12
+    [LINEFORMAT]
+        .lineColor            = 0x00000000 (0 )
+        .linePattern          = 0x0000 (0 )
+        .weight               = 0xFFFF (-1 )
+        .format               = 0x0009 (9 )
+             .auto                     = true
+             .drawTicks                = false
+             .unknown                  = false
+        .colourPaletteIndex   = 0x004D (77 )
+    [/LINEFORMAT]
+
+    ============================================
+    Offset 0x11e0 (4576)
+    rectype = 0x1034, recsize = 0x0
+    -BEGIN DUMP---------------------------------
+    **NO RECORD DATA**
+    -END DUMP-----------------------------------
+    recordid = 0x1034, size =0
+    [END]
+    [/END]
+
+    ============================================
+    Offset 0x11e4 (4580)
+    rectype = 0x1035, recsize = 0x0
+    -BEGIN DUMP---------------------------------
+    **NO RECORD DATA**
+    -END DUMP-----------------------------------
+    recordid = 0x1035, size =0
+    [PLOTAREA]
+    [/PLOTAREA]
+
+    ============================================
+    Offset 0x11e8 (4584)
+    rectype = 0x1032, recsize = 0x4
+    -BEGIN DUMP---------------------------------
+    00000000 00 00 03 00                                     ....
+    -END DUMP-----------------------------------
+    recordid = 0x1032, size =4
+    [FRAME]
+        .borderType           = 0x0000 (0 )
+        .options              = 0x0003 (3 )
+             .autoSize                 = true
+             .autoPosition             = true
+    [/FRAME]
+
+    ============================================
+    Offset 0x11f0 (4592)
+    rectype = 0x1033, recsize = 0x0
+    -BEGIN DUMP---------------------------------
+    **NO RECORD DATA**
+    -END DUMP-----------------------------------
+    recordid = 0x1033, size =0
+    [BEGIN]
+    [/BEGIN]
+
+    ============================================
+    Offset 0x11f4 (4596)
+    rectype = 0x1007, recsize = 0xc
+    -BEGIN DUMP---------------------------------
+    00000000 80 80 80 00 00 00 00 00 00 00 17 00             ............
+    -END DUMP-----------------------------------
+    recordid = 0x1007, size =12
+    [LINEFORMAT]
+        .lineColor            = 0x00808080 (8421504 )
+        .linePattern          = 0x0000 (0 )
+        .weight               = 0x0000 (0 )
+        .format               = 0x0000 (0 )
+             .auto                     = false
+             .drawTicks                = false
+             .unknown                  = false
+        .colourPaletteIndex   = 0x0017 (23 )
+    [/LINEFORMAT]
+
+    ============================================
+    Offset 0x1204 (4612)
+    rectype = 0x100a, recsize = 0x10
+    -BEGIN DUMP---------------------------------
+    00000000 C0 C0 C0 00 00 00 00 00 01 00 00 00 16 00 4F 00 ..............O.
+    -END DUMP-----------------------------------
+    recordid = 0x100a, size =16
+    [AREAFORMAT]
+        .foregroundColor      = 0x00C0C0C0 (12632256 )
+        .backgroundColor      = 0x00000000 (0 )
+        .pattern              = 0x0001 (1 )
+        .formatFlags          = 0x0000 (0 )
+             .automatic                = false
+             .invert                   = false
+        .forecolorIndex       = 0x0016 (22 )
+        .backcolorIndex       = 0x004F (79 )
+    [/AREAFORMAT]
+
+    ============================================
+    Offset 0x1218 (4632)
+    rectype = 0x1034, recsize = 0x0
+    -BEGIN DUMP---------------------------------
+    **NO RECORD DATA**
+    -END DUMP-----------------------------------
+    recordid = 0x1034, size =0
+    [END]
+    [/END]
+
+    ============================================
+    Offset 0x121c (4636)
+    rectype = 0x1014, recsize = 0x14
+    -BEGIN DUMP---------------------------------
+    00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
+    00000010 00 00 00 00                                     ....
+    -END DUMP-----------------------------------
+    recordid = 0x1014, size =20
+    [CHARTFORMAT]
+        .xPosition       = 0
+        .yPosition       = 0
+        .width           = 0
+        .height          = 0
+        .grBit           = 0
+    [/CHARTFORMAT]
+
+    ============================================
+    Offset 0x1234 (4660)
+    rectype = 0x1033, recsize = 0x0
+    -BEGIN DUMP---------------------------------
+    **NO RECORD DATA**
+    -END DUMP-----------------------------------
+    recordid = 0x1033, size =0
+    [BEGIN]
+    [/BEGIN]
+
+    ============================================
+    Offset 0x1238 (4664)
+    rectype = 0x1017, recsize = 0x6
+    -BEGIN DUMP---------------------------------
+    00000000 00 00 96 00 00 00                               ......
+    -END DUMP-----------------------------------
+    recordid = 0x1017, size =6
+    [BAR]
+        .barSpace             = 0x0000 (0 )
+        .categorySpace        = 0x0096 (150 )
+        .formatFlags          = 0x0000 (0 )
+             .horizontal               = false
+             .stacked                  = false
+             .displayAsPercentage      = false
+             .shadow                   = false
+    [/BAR]
+
+    ============================================
+    Offset 0x1242 (4674)
+    rectype = 0x1022, recsize = 0xa
+    -BEGIN DUMP---------------------------------
+    00000000 00 00 00 00 00 00 00 00 0F 00                   ..........
+    -END DUMP-----------------------------------
+    recordid = 0x1022, size =10
+    [UNKNOWN RECORD]
+        .id        = 1022
+    [/UNKNOWN RECORD]
+
+    ============================================
+    Offset 0x1250 (4688)
+    rectype = 0x1015, recsize = 0x14
+    -BEGIN DUMP---------------------------------
+    00000000 D6 0D 00 00 1E 06 00 00 B5 01 00 00 D5 00 00 00 ................
+    00000010 03 01 1F 00                                     ....
+    -END DUMP-----------------------------------
+    recordid = 0x1015, size =20
+    [LEGEND]
+        .xAxisUpperLeft       = 0x00000DD6 (3542 )
+        .yAxisUpperLeft       = 0x0000061E (1566 )
+        .xSize                = 0x000001B5 (437 )
+        .ySize                = 0x000000D5 (213 )
+        .type                 = 0x03 (3 )
+        .spacing              = 0x01 (1 )
+        .options              = 0x001F (31 )
+             .autoPosition             = true
+             .autoSeries               = true
+             .autoXPositioning         = true
+             .autoYPositioning         = true
+             .vertical                 = true
+             .dataTable                = false
+    [/LEGEND]
+
+    ============================================
+    Offset 0x1268 (4712)
+    rectype = 0x1033, recsize = 0x0
+    -BEGIN DUMP---------------------------------
+    **NO RECORD DATA**
+    -END DUMP-----------------------------------
+    recordid = 0x1033, size =0
+    [BEGIN]
+    [/BEGIN]
+
+    ============================================
+    Offset 0x126c (4716)
+    rectype = 0x104f, recsize = 0x14
+    -BEGIN DUMP---------------------------------
+    00000000 05 00 02 00 D6 0D 00 00 1E 06 00 00 00 00 00 00 ................
+    00000010 00 00 00 00                                     ....
+    -END DUMP-----------------------------------
+    recordid = 0x104f, size =20
+    [UNKNOWN RECORD]
+        .id        = 104f
+    [/UNKNOWN RECORD]
+
+    ============================================
+    Offset 0x1284 (4740)
+    rectype = 0x1025, recsize = 0x20
+    -BEGIN DUMP---------------------------------
+    00000000 02 02 01 00 00 00 00 00 DB FF FF FF C4 FF FF FF ................
+    00000010 00 00 00 00 00 00 00 00 B1 00 4D 00 70 37 00 00 ..........M.p7..
+    -END DUMP-----------------------------------
+    recordid = 0x1025, size =32
+    [TEXT]
+        .horizontalAlignment  = 0x02 (2 )
+        .verticalAlignment    = 0x02 (2 )
+        .displayMode          = 0x0001 (1 )
+        .rgbColor             = 0x00000000 (0 )
+        .x                    = 0xFFFFFFDB (-37 )
+        .y                    = 0xFFFFFFC4 (-60 )
+        .width                = 0x00000000 (0 )
+        .height               = 0x00000000 (0 )
+        .options1             = 0x00B1 (177 )
+             .autoColor                = true
+             .showKey                  = false
+             .showValue                = false
+             .vertical                 = false
+             .autoGeneratedText        = true
+             .generated                = true
+             .autoLabelDeleted         = false
+             .autoBackground           = true
+             .rotation                 = 0
+             .showCategoryLabelAsPercentage     = false
+             .showValueAsPercentage     = false
+             .showBubbleSizes          = false
+             .showLabel                = false
+        .indexOfColorValue    = 0x004D (77 )
+        .options2             = 0x3770 (14192 )
+             .dataLabelPlacement       = 0
+        .textRotation         = 0x0000 (0 )
+    [/TEXT]
+
+    ============================================
+    Offset 0x12a8 (4776)
+    rectype = 0x1033, recsize = 0x0
+    -BEGIN DUMP---------------------------------
+    **NO RECORD DATA**
+    -END DUMP-----------------------------------
+    recordid = 0x1033, size =0
+    [BEGIN]
+    [/BEGIN]
+
+    ============================================
+    Offset 0x12ac (4780)
+    rectype = 0x104f, recsize = 0x14
+    -BEGIN DUMP---------------------------------
+    00000000 02 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
+    00000010 00 00 00 00                                     ....
+    -END DUMP-----------------------------------
+    recordid = 0x104f, size =20
+    [UNKNOWN RECORD]
+        .id        = 104f
+    [/UNKNOWN RECORD]
+
+    ============================================
+    Offset 0x12c4 (4804)
+    rectype = 0x1051, recsize = 0x8
+    -BEGIN DUMP---------------------------------
+    00000000 00 01 00 00 00 00 00 00                         ........
+    -END DUMP-----------------------------------
+    recordid = 0x1051, size =8
+    [AI]
+        .linkType             = 0x00 (0 )
+        .referenceType        = 0x01 (1 )
+        .options              = 0x0000 (0 )
+             .customNumberFormat       = false
+        .indexNumberFmtRecord = 0x0000 (0 )
+        .formulaOfLink        =  (org.apache.poi.hssf.record.LinkedDataFormulaField@1d05c81 )
+    [/AI]
+
+    ============================================
+    Offset 0x12d0 (4816)
+    rectype = 0x1034, recsize = 0x0
+    -BEGIN DUMP---------------------------------
+    **NO RECORD DATA**
+    -END DUMP-----------------------------------
+    recordid = 0x1034, size =0
+    [END]
+    [/END]
+
+	<!-- Comment to avoid forrest bug -->
+    ============================================
+    Offset 0x12d4 (4820)
+    rectype = 0x1034, recsize = 0x0
+    -BEGIN DUMP---------------------------------
+    **NO RECORD DATA**
+    -END DUMP-----------------------------------
+    recordid = 0x1034, size =0
+    [END]
+    [/END]
+
+    ============================================
+    Offset 0x12d8 (4824)
+    rectype = 0x1034, recsize = 0x0
+    -BEGIN DUMP---------------------------------
+    **NO RECORD DATA**
+    -END DUMP-----------------------------------
+    recordid = 0x1034, size =0
+    [END]
+    [/END]
+
+    ============================================
+    Offset 0x12dc (4828)
+    rectype = 0x1034, recsize = 0x0
+    -BEGIN DUMP---------------------------------
+    **NO RECORD DATA**
+    -END DUMP-----------------------------------
+    recordid = 0x1034, size =0
+    [END]
+    [/END]
+
+    ============================================
+    Offset 0x12e0 (4832)
+    rectype = 0x1034, recsize = 0x0
+    -BEGIN DUMP---------------------------------
+    **NO RECORD DATA**
+    -END DUMP-----------------------------------
+    recordid = 0x1034, size =0
+    [END]
+    [/END]
+
+    ============================================
+    rectype = 0x200, recsize = 0xe
+    -BEGIN DUMP---------------------------------
+    00000000 00 00 00 00 1F 00 00 00 00 00 01 00 00 00       ..............
+    -END DUMP-----------------------------------
+    recordid = 0x200, size =14
+    [DIMENSIONS]
+        .firstrow       = 0
+        .lastrow        = 1f
+        .firstcol       = 0
+        .lastcol        = 1
+        .zero           = 0
+    [/DIMENSIONS]
+
+    ============================================
+    rectype = 0x1065, recsize = 0x2
+    -BEGIN DUMP---------------------------------
+    00000000 02 00                                           ..
+    -END DUMP-----------------------------------
+    recordid = 0x1065, size =2
+    [SINDEX]
+        .index                = 0x0002 (2 )
+    [/SINDEX]
+
+    ============================================
+    rectype = 0x1065, recsize = 0x2
+    -BEGIN DUMP---------------------------------
+    00000000 01 00                                           ..
+    -END DUMP-----------------------------------
+    recordid = 0x1065, size =2
+    [SINDEX]
+        .index                = 0x0001 (1 )
+    [/SINDEX]
+
+    ============================================
+    rectype = 0x1065, recsize = 0x2
+    -BEGIN DUMP---------------------------------
+    00000000 03 00                                           ..
+    -END DUMP-----------------------------------
+    recordid = 0x1065, size =2
+    [SINDEX]
+        .index                = 0x0003 (3 )
+    [/SINDEX]
+
+    ============================================
+    rectype = 0xa, recsize = 0x0
+    -BEGIN DUMP---------------------------------
+    **NO RECORD DATA**
+    -END DUMP-----------------------------------
+    recordid = 0xa, size =0
+    [EOF]
+    [/EOF]
+
+
+            </pre>
+            
+<p>
+                The next section breaks those records down into an easier
+                to read format:
+            </p>
+            
+<pre class="code">
+[UNKNOWN RECORD:ec]
+[UNKNOWN RECORD:5d]
+[BOF RECORD]
+    [HEADER]
+    [FOOTER]
+    [HCENTER]
+    [VCENTER]
+    [PRINTSETUP]
+    [UNKNOWN RECORD:33]
+    [FBI]
+    [FBI]
+    [PROTECT]
+    [UNITS]
+    [CHART]
+    [BEGIN]
+        [SCL]                 // zoom magnification
+        [PLOTGROWTH]          // font scaling
+        [FRAME]               // border around text
+        [BEGIN]               // default line and area format
+            [LINEFORMAT]
+            [AREAFORMAT]
+        [END]
+        [SERIES]              // start of series
+        [BEGIN]
+            [AI]              // LINK_TYPE_TITLE_OR_TEXT
+            [AI]              // LINK_TYPE_VALUES
+            [AI]              // LINK_TYPE_CATEGORIES
+            [AI]              // ??
+            [DATAFORMAT]      // Formatting applies to series?
+            [BEGIN]           // ??
+                [UNKNOWN RECORD]
+            [END]
+            [SeriesToChartGroup] // Used to support &gt; 1 chart?
+        [END]
+        [SHTPROPS]            // Some defaults for how chart is displayed.
+        [DEFAULTTEXT]         // Describes the characteristics of the next
+                              // record
+        [TEXT]                // Details of the text that follows in the
+                              // next section
+        [BEGIN]
+            [UNKNOWN RECORD]  // POS record... looks like I missed this one.
+                              // docs seem to indicate it's better to use
+                              // defaults...
+            [FONTX]           // index to font record.
+            [AI]              // link to text?  seems to be linking to nothing
+        [END]
+        [DEFAULTTEXT]         // contains a category type of 3 which is not
+                              // documented (sigh).
+        [TEXT]                // defines position, color etc for text on chart.
+        [BEGIN]
+            [UNKNOWN RECORD]  // Another pos record
+            [FONTX]           // font
+            [AI]              // reference type is DIRECT (not sure what this
+                              // means)
+        [END]
+        [AXISUSED]            // number of axis on the chart.
+        [AXISPARENT]          // axis size and location
+        [BEGIN]               // beginning of axis details
+            [UNKNOWN RECORD]        // Another pos record.
+            [AXIS]                  // Category axis
+            [BEGIN]
+                [CATSERRANGE]       // defines tick marks and other stuff
+                [AXCEXT]            // unit information
+                [TICK]              // tick formating characteristics
+            [END]
+            [AXIS]                  // Value axis
+            [BEGIN]
+                [VALUERANGE]        // defines tick marks and other stuff
+                [TICK]              // tick formating characteristics
+                [AXISLINEFORMAT]    // major grid line axis format
+                [LINEFORMAT]        // what do the lines look like?
+            [END]
+            [PLOTAREA]              // marks that the frame following belongs
+                                    // to the frame.
+            [FRAME]                 // border
+            [BEGIN]
+                [LINEFORMAT]        // border line
+                [AREAFORMAT]        // border area
+            [END]
+            [CHARTFORMAT]           // marks a chart group
+            [BEGIN]
+                [BAR]               // indicates a bar chart
+                [UNKNOWN RECORD]    // apparently this record is ignoreable
+                [LEGEND]            // positioning for the legend
+                [BEGIN]
+                    [UNKNOWN RECORD]    // another position record.
+                    [TEXT]              // details of the text that follows
+                                        // in the next section
+                    [BEGIN]
+                        [UNKNOWN RECORD]  // yet another pos record
+                        [AI]              // another link (of type direct)
+                    [END]
+                [END]
+            [END]
+        [END]
+    [END]
+    [DIMENSIONS]
+    [SINDEX]
+    [SINDEX]
+    [SINDEX]
+[EOF]
+            </pre>
+            
+<p>
+                Just a quick note on some of the unknown records:
+            </p>
+            
+<ul>
+                
+<li>EC: MSODRAWING - A Microsoft drawing record. (Need to
+                track down where this is documented).</li>
+                
+<li>5D: OBJ: Description of a drawing object. (This is going to
+                be a PITA to implement).</li>
+                
+<li>33: Not documented. :-(</li>
+                
+<li>105f: Not documented.  :-(</li>
+                
+<li>104f: POS: Position record (should be able to safely leave this out).</li>
+                
+<li>1022: CHARTFORMATLINK: Can be left out.</li>
+            
+</ul>
+            
+<p>
+                It is currently suspected that many of those records could be
+                left out when generating a bar chart from scratch.  The way
+                we will be proceeding with this is to write code that generates
+                most of these records and then start removing them to see
+                how this effects the chart in excel.
+            </p>
+        
+        
+<a name="Inserting+the+Chart+into+the+Workbook"></a>
+<div class="h3">
+<h3>Inserting the Chart into the Workbook</h3>
+</div>
+            
+<ul>
+                
+<li>
+                    Unknown record (sid=00eb) is inserted before the SST
+                    record.
+                </li>
+            
+</ul>
+                
+<pre class="code">
+    ============================================
+    rectype = 0xeb, recsize = 0x5a
+    -BEGIN DUMP---------------------------------
+    00000000 0F 00 00 F0 52 00 00 00 00 00 06 F0 18 00 00 00 ....R...........
+    00000010 01 08 00 00 02 00 00 00 02 00 00 00 01 00 00 00 ................
+    00000020 01 00 00 00 03 00 00 00 33 00 0B F0 12 00 00 00 ........3.......
+    00000030 BF 00 08 00 08 00 81 01 09 00 00 08 C0 01 40 00 ..............@.
+    00000040 00 08 40 00 1E F1 10 00 00 00 0D 00 00 08 0C 00 ..@.............
+    00000050 00 08 17 00 00 08 F7 00 00 10                   ..........
+    -END DUMP-----------------------------------
+    recordid = 0xeb, size =90
+    [UNKNOWN RECORD:eb]
+        .id        = eb
+    [/UNKNOWN RECORD]
+
+    ============================================
+                </pre>
+            
+<ul>
+                
+<li>
+                    Any extra font records are inserted as needed
+                </li>
+                
+<li>
+                    Chart records inserted after DBCell records.
+                </li>
+            
+</ul>
+        
+    
+
+<div id="authors" align="right">by&nbsp;Glen Stampoultzis</div>
+</div>
+</div>
+</div>
+</td>
+<!--================= end Content ==================-->
+</tr>
+</tbody>
+</table>
+<!--================= end Main ==================-->
+<!--================= start Footer ==================-->
+<div id="footer">
+<table summary="footer" cellspacing="0" cellpadding="4" width="100%" border="0">
+<tbody>
+<tr>
+<!--================= start Copyright ==================-->
+<td colspan="2">
+<div align="center">
+<div class="copyright">
+              Copyright &copy; 2002-2012&nbsp;The Apache Software Foundation. All rights reserved.<br>
+              Apache POI, POI, Apache, the Apache feather logo, and the Apache 
+              POI project logo are trademarks of The Apache Software Foundation.
+            </div>
+</div>
+</td>
+<!--================= end Copyright ==================-->
+</tr>
+<tr>
+<td align="left">
+<!--================= start Host ==================-->
+<!--================= end Host ==================--></td><td align="right">
+<!--================= start Credits ==================-->
+<div align="right">
+<div class="credit"></div>
+</div>
+<!--================= end Credits ==================-->
+</td>
+</tr>
+</tbody>
+</table>
+</div>
+<!--================= end Footer ==================-->
+</body>
+</html>

Propchange: poi/site/publish/spreadsheet/chart.html
------------------------------------------------------------------------------
    svn:executable = *



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org


Mime
View raw message