Author: kiwiwings
Date: Thu Jul 19 17:36:20 2018
New Revision: 1836281
URL: http://svn.apache.org/viewvc?rev=1836281&view=rev
Log:
Fix faq-ids to last release of Forrest 0.51
Modified:
poi/site/src/documentation/content/xdocs/help/faq.xml
Modified: poi/site/src/documentation/content/xdocs/help/faq.xml
URL:
http://svn.apache.org/viewvc/poi/site/src/documentation/content/xdocs/help/faq.xml?rev=1836281&r1=1836280&r2=1836281&view=diff
==============================================================================
--- poi/site/src/documentation/content/xdocs/help/faq.xml (original)
+++ poi/site/src/documentation/content/xdocs/help/faq.xml Thu Jul 19 17:36:20
2018
@@ -21,13 +21,13 @@
<faqs>
<title>Frequently Asked Questions</title>
- <faq>
+ <faq id="faq-N10006">
<question>
My code uses some new feature, compiles fine but fails when live with a
"MethodNotFoundException" or "IncompatibleClassChangeError"
</question>
<answer>
- <p>You almost certainly have an older version of Apache POI
- on your classpath. Quite a few runtimes and other packages
+ <p>You almost certainly have an older version of Apache POI
+ on your classpath. Quite a few runtimes and other packages
will ship older version of Apache POI, so this is an easy problem
to hit without your realising. Some will ship just one old jar,
some may ship a full set of old POI jars.</p>
@@ -35,7 +35,7 @@
with a few lines of java. These will load a Core POI class, an
OOXML class and a Scratchpad class, and report where they all came
from.</p>
- <source>
+ <source><![CDATA[
ClassLoader classloader =
org.apache.poi.poifs.filesystem.POIFSFileSystem.class.getClassLoader();
URL res = classloader.getResource(
@@ -51,11 +51,10 @@ System.out.println("POI OOXML came from
classloader =
org.apache.poi.hslf.usermodel.HSLFSlideShow.class.getClassLoader();
res =
classloader.getResource("org/apache/poi/hslf/usermodel/HSLFSlideShow.class");
path = res.getPath();
-System.out.println("POI Scratchpad came from " + path);
- </source>
+System.out.println("POI Scratchpad came from " + path);]]></source>
</answer>
</faq>
- <faq>
+ <faq id="faq-N10019">
<question>
My code uses the scratchpad, compiles fine but fails to run with a
"MethodNotFoundException"
</question>
@@ -64,21 +63,21 @@ System.out.println("POI Scratchpad came
classpath. See the prior answer.</p>
</answer>
</faq>
- <faq>
+ <faq id="faq-N10025">
<question>
I'm using the poi-ooxml-schemas jar, but my code is failing with
"java.lang.NoClassDefFoundError: org/openxmlformats/schemas/*something*"
</question>
<answer>
<p>To use the new OOXML file formats, POI requires a jar containing
- the file format XSDs, as compiled by
+ the file format XSDs, as compiled by
<a href="https://xmlbeans.apache.org/">XMLBeans</a>. These
XSDs, once compiled into Java classes, live in the
<em>org.openxmlformats.schemas</em> namespace.</p>
<p>There are two jar files available, as described in
<a href="site:components">the components overview section</a>.
- The <em>full jar of all of the schemas is ooxml-schemas-1.3.jar</em>,
- and it is currently around 15mb. The <em>smaller poi-ooxml-schemas
- jar</em> is only about 4mb. This latter jar file only contains the
+ The <em>full jar of all of the schemas is ooxml-schemas-1.3.jar</em>,
+ and it is currently around 15mb. The <em>smaller poi-ooxml-schemas
+ jar</em> is only about 4mb. This latter jar file only contains the
typically used parts though.</p>
<p>Many users choose to use the smaller poi-ooxml-schemas jar to save
space. However, the poi-ooxml-schemas jar only contains the XSDs and
@@ -87,10 +86,10 @@ System.out.println("POI Scratchpad came
isn't included in the minimal poi-ooxml-schemas jar. In this case,
you should switch to the full ooxml-schemas-1.3.jar. Longer term,
you may also wish to submit a new unit test which uses the extra
- parts of the XSDs, so that a future poi-ooxml-schemas jar will
+ parts of the XSDs, so that a future poi-ooxml-schemas jar will
include them.</p>
<p>There are a number of ways to get the full ooxml-schemas-1.3.jar.
- If you are a maven user, see the
+ If you are a maven user, see the
<a href="site:components">the components overview section</a>
for the artifact details to have maven download it for you.
If you download the source release of POI, and/or checkout the
@@ -133,7 +132,7 @@ System.out.println("POI Scratchpad came
</table>
</answer>
</faq>
- <faq>
+ <faq id="faq-N100B6">
<question>
Why is reading a simple sheet taking so long?
</question>
@@ -146,7 +145,7 @@ System.out.println("POI Scratchpad came
logging.</p>
</answer>
</faq>
- <faq>
+ <faq id="faq-N100C2">
<question>
What is the HSSF "eventmodel"?
</question>
@@ -157,7 +156,7 @@ System.out.println("POI Scratchpad came
access, this is the best way to do it.</p>
</answer>
</faq>
- <faq>
+ <faq id="faq-N100CE">
<question>
Why can't read the document I created using Star Office 5.1?
</question>
@@ -166,7 +165,7 @@ System.out.println("POI Scratchpad came
with POI which supports only BIFF8.</p>
</answer>
</faq>
- <faq>
+ <faq id="faq-N100DA">
<question>
Why am I getting an exception each time I attempt to read my spreadsheet?
</question>
@@ -176,7 +175,7 @@ System.out.println("POI Scratchpad came
<a
href="https://issues.apache.org/bugzilla/buglist.cgi?product=POI">Bugzilla.</a></p>
</answer>
</faq>
- <faq>
+ <faq id="faq-N100E9">
<question>
How do you tell if a spreadsheet cell contains a date?
</question>
@@ -185,23 +184,22 @@ System.out.println("POI Scratchpad came
actually stored as a date is to look at the formatting. There is a
helper method
in HSSFDateUtil that checks for this.
Thanks to Jason Hoffman for providing the solution.</p>
- <source>
- case HSSFCell.CELL_TYPE_NUMERIC:
- double d = cell.getNumericCellValue();
- // test if a date!
- if (HSSFDateUtil.isCellDateFormatted(cell)) {
- // format in form of M/D/YY
- cal.setTime(HSSFDateUtil.getJavaDate(d));
- cellText =
- (String.valueOf(cal.get(Calendar.YEAR))).substring(2);
- cellText = cal.get(Calendar.MONTH)+1 + "/" +
- cal.get(Calendar.DAY_OF_MONTH) + "/" +
- cellText;
- }
- </source>
+ <source><![CDATA[
+case HSSFCell.CELL_TYPE_NUMERIC:
+ double d = cell.getNumericCellValue();
+ // test if a date!
+ if (HSSFDateUtil.isCellDateFormatted(cell)) {
+ // format in form of M/D/YY
+ cal.setTime(HSSFDateUtil.getJavaDate(d));
+ cellText =
+ (String.valueOf(cal.get(Calendar.YEAR))).substring(2);
+ cellText = cal.get(Calendar.MONTH)+1 + "/" +
+ cal.get(Calendar.DAY_OF_MONTH) + "/" +
+ cellText;
+ }]]></source>
</answer>
</faq>
- <faq>
+ <faq id="faq-N100F9">
<question>
I'm trying to stream an XLS file from a servlet and I'm having some
trouble. What's the problem?
</question>
@@ -229,7 +227,7 @@ System.out.println("POI Scratchpad came
<p>
To guarantee opening the file properly in Excel from IE, write out
your file to a
temporary file under your web root from your servlet. Then send an
http response
- to the browser to do a client side redirection to your temp file.
(Note that using a
+ to the browser to do a client side redirection to your temp file.
(Note that using a
server side redirect using RequestDispatcher will not be effective in
this case)
</p>
<p>
@@ -247,7 +245,7 @@ System.out.println("POI Scratchpad came
<!-- Thanks to Avik for the answer -->
</answer>
</faq>
- <faq>
+ <faq id="faq-N10123">
<question>
I want to set a cell format (Data format of a cell) of a excel sheet as
###,###,###.#### or ###,###,###.0000. Is it possible using POI ?
</question>
@@ -257,7 +255,7 @@ System.out.println("POI Scratchpad came
</p>
</answer>
</faq>
- <faq>
+ <faq id="faq-N10133">
<question>
I want to set a cell format (Data format of a cell) of a excel sheet as
text. Is it possible using POI ?
</question>
@@ -267,7 +265,7 @@ System.out.println("POI Scratchpad came
</p>
</answer>
</faq>
- <faq>
+ <faq id="faq-N1013F">
<question>
How do I add a border around a merged cell?
</question>
@@ -276,14 +274,14 @@ System.out.println("POI Scratchpad came
We will probably enhance HSSF in the future to make this process
easier.</p>
</answer>
</faq>
- <faq>
+ <faq id="faq-N1014B">
<question>
I am using styles when creating a workbook in POI, but Excel refuses to
open the file, complaining about "Too Many Styles".
</question>
<answer>
<p>You just create the styles OUTSIDE of the loop in which you create
cells.</p>
<p>GOOD:</p>
- <source>
+ <source><![CDATA[
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("new sheet");
HSSFRow row = null;
@@ -353,11 +351,10 @@ System.out.println("POI Scratchpad came
// Write the output to a file
FileOutputStream fileOut = new FileOutputStream("workbook.xls");
wb.write(fileOut);
- fileOut.close();
- </source>
+ fileOut.close();]]></source>
</answer>
</faq>
- <faq>
+ <faq id="faq-N10165">
<question>
I think POI is using too much memory! What can I do?
</question>
@@ -380,7 +377,7 @@ System.out.println("POI Scratchpad came
or SXSSF), the number rows, the number of columns, and if the file
should be saved. If you can't run that with 50,000 rows and 50 columns
in HSSF and SXSSF in under 3 seconds, and XSSF in under 20 seconds
- (and ideally all 3 in less than that!), then the problem is with
+ (and ideally all 3 in less than that!), then the problem is with
your environment.</p>
<p>Next, use the example program
<a
href="https://svn.apache.org/repos/asf/poi/trunk/src/examples/src/org/apache/poi/ss/examples/ToCSV.java">ToCSV</a>
@@ -396,14 +393,14 @@ System.out.println("POI Scratchpad came
code.</p>
</answer>
</faq>
- <faq>
+ <faq id="faq-N10192">
<question>
I can't seem to find the source for the OOXML CT.. classes, where do they
come from?
</question>
<answer>
<p>The OOXML support in Apache POI is built on top of the file format
- XML Schemas, as compiled into Java using
+ XML Schemas, as compiled into Java using
<a href="https://xmlbeans.apache.org/">XMLBeans</a>. Currently,
the compilation is done with XMLBeans 2.3, for maximum compatibility
with installations. (You can use the resulting classes on the XMLBeans
@@ -414,40 +411,40 @@ System.out.println("POI Scratchpad came
classes are auto-generated by XMLBeans. The resulting generated Java
goes
in the <em>ooxml-schemas-src</em> jar, and the compiled version into
the
<em>ooxml-schemas</em> jar.</p>
- <p>The full <em>ooxml-schemas</em> jar is distributed with Apache POI,
+ <p>The full <em>ooxml-schemas</em> jar is distributed with Apache POI,
along with the cut-down <em>poi-ooxml-schemas</em> jar containing just
the common parts. The source jar isn't normally distributed with POI.
It is, however, available from Maven Central - ask your favourite
Maven
mirror for the <em>ooxml-schemas-src</em> jar. Alternately, if you
download
the POI source distribution (or checkout from SVN) and build, Ant will
- automatically download the specification XML Schema, and compile it
for
+ automatically download the specification XML Schema, and compile it
for
you to generate the source and binary ooxml-schemas jars.</p>
</answer>
</faq>
- <faq>
+ <faq id="faq-N101BA">
<question>
An OLE2 ("binary") file is giving me problems, but I can't share it. How
can I investigate the problem on my own?
</question>
<answer>
- <p>The first thing to try is running the
+ <p>The first thing to try is running the
<a
href="https://blogs.msdn.com/b/officeinteroperability/archive/2011/07/12/microsoft-office-binary-file-format-validator-is-now-available.aspx">Binary
File Format Validator</a>
from Microsoft against the file, which will report if the file
complies with the specification. If your input file doesn't, then this
- may well explain why POI isn't able to process it correctly. You
+ may well explain why POI isn't able to process it correctly. You
should probably in this case speak to whoever is generating the file,
and have them fix it there. If your POI generated file is identified
- as having an issue, and you're on the
+ as having an issue, and you're on the
<a href="site:howtobuild">latest codebase</a>, report a new
POI bug and include the details of the validation failure.</p>
<p>Another thing to try, especially if the file is valid but POI isn't
behaving as expected, are the POI Dev Tools for the component you're
using. For example, HSSF has
<em>org.apache.poi.hssf.dev.BiffViewer</em>
which will allow you to view the file as POI does. This will often
- allow you to check that things are being read as you expect, and
+ allow you to check that things are being read as you expect, and
narrow in on problem records and structures.</p>
</answer>
</faq>
- <faq>
+ <faq id="faq-N101D4">
<question>
An OOXML ("xml") file is giving me problems, but I can't share it. How
can I investigate the problem on my own?
</question>
@@ -458,21 +455,21 @@ System.out.println("POI Scratchpad came
<p>Files such as .xlsx, .docx and .pptx are actually a zip file of XML
files, with a special structure. Your first step in diagnosing the
issues with the input or output file will likely be to unzip the
- file, and look at the XML of it. Newer versions of Office will
- normally tell you which area of the file is problematic, so
+ file, and look at the XML of it. Newer versions of Office will
+ normally tell you which area of the file is problematic, so
narrow in on there. Looking at the XML, does it look correct?</p>
<p>When reporting bugs, ideally include the whole file, but if you're
unable to then include the snippet of XML for the problem area, and
reference the OOXML standard for what it should contain.</p>
</answer>
</faq>
- <faq>
+ <faq id="faq-N101E6">
<question>
Why do I get a java.lang.NoClassDefFoundError:
javax/xml/stream/XMLEventFactory.newFactory()
</question>
<answer>
- <p>This error indicates that the class XMLEventFactory does not provide
- functionality which POI is depending upon. There can be a number of
+ <p>This error indicates that the class XMLEventFactory does not provide
+ functionality which POI is depending upon. There can be a number of
different reasons for this:</p>
<ul>
<li>Outdated xml-apis.jar, stax-apis.jar or xercesImpl.jar:<br/>
@@ -482,19 +479,19 @@ System.out.println("POI Scratchpad came
newer version of those jar files.
</li>
<li>Running IBM Java 6 (potentially as part of WebSphere
Application Server):<br/>
- IBM Java 6 does not provide all the interfaces required by the XML
standards,
+ IBM Java 6 does not provide all the interfaces required by the XML
standards,
only IBM Java 7 seems to provide the correct interfaces, so try
upgrading
your JDK.
</li>
<li>Sun/Oracle Java 6 with outdated patchlevel:<br/>
Some of the interfaces were only included/fixed in some of the
patchlevels for
- Java 6. Try running with the latest available patchlevel or even
better use
+ Java 6. Try running with the latest available patchlevel or even
better use
Java 7/8 where this functionality should be available in all cases.
</li>
</ul>
</answer>
</faq>
- <faq>
+ <faq id="faq-N10204">
<question>
Can I mix POI jars from different versions?
</question>
@@ -504,14 +501,14 @@ System.out.println("POI Scratchpad came
such as <em>poi-3.11.jar</em> and <em>poi-ooxml-3.9.jar</em> is not
supported, and will fail to work in unpredictable ways.</p>
<p>If you're not sure which POI jars you're using at runtime, and/or
- you suspect it might not be the one you intended, see
+ you suspect it might not be the one you intended, see
<a href="#faq-N10006">this FAQ entry</a> for details on
diagnosing it. If you aren't sure what POI jars you need, see the
<a href="site:components">Components Overview</a>
for details</p>
</answer>
</faq>
- <faq>
+ <faq id="faq-N10224">
<question>
Can I access/modify workbooks/documents/slideshows in multiple
threads?
What are the multi-threading guarantees that Apache POI makes
@@ -533,7 +530,7 @@ System.out.println("POI Scratchpad came
this way.</p>
</answer>
</faq>
- <faq>
+ <faq id="faq-N1023C">
<question>
What are the advantages and disadvantages of the different constructor
and
write methods?
@@ -564,12 +561,12 @@ and
</p>
<p>You can also write out to a new <em>File</em>. This is available no
matter how
you opened the document, and will create/replace a new file. It is
faster and lower
- memory than writing to an <em>OutputStream</em>. However, you can't use
this to
+ memory than writing to an <em>OutputStream</em>. However, you can't use
this to
replace the currently open file, only files not currently open. To
write to a
new / different file, use
<a
href="../apidocs/org/apache/poi/POIDocument.html#write(java.io.File)">write(File)</a>
</p>
- <p>More information is also available in the
+ <p>More information is also available in the
<a href="../components/spreadsheet/quick-guide.html#FileInputStream">HSSF and
XSSF documentation</a>,
which largely applies to the other formats too.
</p>
@@ -578,7 +575,7 @@ and
</p>
</answer>
</faq>
- <faq>
+ <faq id="faq-N1029C">
<question>
Can POI be used with OSGI?
</question>
@@ -595,7 +592,7 @@ and
</p>
</answer>
</faq>
- <faq>
+ <faq id="faq-N102B0">
<question>
Can Apache POI be compiled/used with Java 9?
</question>
@@ -620,7 +617,7 @@ and
to open up some modules that are needed and to unset some
compiler options
which are not supported any more.
</p>
- <source>
+ <source><![CDATA[
# requires Ant >= 1.9.5 due to
https://bz.apache.org/bugzilla/show_bug.cgi?id=58271
export ANT_HOME=/opt/apache/apache-ant/apache-ant-1.9.7
export PATH=$ANT_HOME/bin:$PATH
@@ -644,11 +641,12 @@ and
-Djava.locale.providers=JRE,CLDR \
-Dcoverage.enabled=true \
test-all
+ ]]>
</source>
</answer>
</faq>
- <faq>
+ <faq id="faq-java10">
<question>
Can Apache POI be compiled/used with Java 10 or newer?
</question>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]