* </table>
*
*/
- public static void main(String[] args) throws IOException {
+ public static void main(String[] args) throws IOException, CommandParseException {
// args = new String[] { "--out", "", };
- CommandArgs cmdArgs;
- try {
- cmdArgs = CommandArgs.parse(args);
- } catch (CommandParseException e) {
- e.printStackTrace();
- return;
- }
+ CommandArgs cmdArgs = CommandArgs.parse(args);
PrintWriter pw;
if (cmdArgs.shouldOutputToFile()) {
this.file = file;
}
- public static void main(String [] args)
+ public static void main(String [] args) throws IOException
{
if ((args.length == 1) && !args[ 0 ].equals("--help"))
{
- try
- {
- EFBiffViewer viewer = new EFBiffViewer();
+ EFBiffViewer viewer = new EFBiffViewer();
- viewer.setFile(args[ 0 ]);
- viewer.run();
- }
- catch (IOException e)
- {
- e.printStackTrace();
- }
+ viewer.setFile(args[ 0 ]);
+ viewer.run();
}
else
{
package org.apache.poi.hssf.dev;
import java.io.File;
+import java.io.IOException;
import java.io.InputStream;
import java.util.List;
/**
* Method run
+ * @throws IOException
*
*
* @exception Exception
*
*/
- public void run() throws Exception {
+ public void run() throws IOException {
NPOIFSFileSystem fs = new NPOIFSFileSystem(new File(file), true);
InputStream is = BiffViewer.getPOIFSInputStream(fs);
List<Record> records = RecordFactory.createRecords(is);
* pass me a filename and I'll try and parse the formulas from it
*
* @param args pass one argument with the filename or --help
+ * @throws IOException
+ * @throws Exception
*
*/
- public static void main(String args[])
+ public static void main(String args[]) throws IOException
{
if ((args == null) || (args.length >2 )
|| args[ 0 ].equals("--help"))
"FormulaViewer .8 proof that the devil lies in the details (or just in BIFF8 files in general)");
System.out.println("usage: Give me a big fat file name");
} else if (args[0].equals("--listFunctions")) { // undocumented attribute to research functions!~
- try {
- FormulaViewer viewer = new FormulaViewer();
- viewer.setFile(args[1]);
- viewer.setList(true);
- viewer.run();
- }
- catch (Exception e) {
- System.out.println("Whoops!");
- e.printStackTrace();
- }
+ FormulaViewer viewer = new FormulaViewer();
+ viewer.setFile(args[1]);
+ viewer.setList(true);
+ viewer.run();
}
else
{
- try
- {
- FormulaViewer viewer = new FormulaViewer();
+ FormulaViewer viewer = new FormulaViewer();
- viewer.setFile(args[ 0 ]);
- viewer.run();
- }
- catch (Exception e)
- {
- System.out.println("Whoops!");
- e.printStackTrace();
- }
+ viewer.setFile(args[ 0 ]);
+ viewer.run();
}
}
}
this.file = file;
}
- public static void main(String [] args)
+ public static void main(String [] args) throws IOException
{
if ((args.length == 1) && !args[ 0 ].equals("--help"))
{
- try
- {
- RecordLister viewer = new RecordLister();
+ RecordLister viewer = new RecordLister();
- viewer.setFile(args[ 0 ]);
- viewer.run();
- }
- catch (IOException e)
- {
- e.printStackTrace();
- }
+ viewer.setFile(args[ 0 ]);
+ viewer.run();
}
else
{
/**
* Command line extractor.
+ * @throws IOException
*/
- public static void main(String[] args) {
+ public static void main(String[] args) throws IOException {
CommandArgs cmdArgs;
try {
return;
}
- try {
- InputStream is;
- if(cmdArgs.getInputFile() == null) {
- is = System.in;
- } else {
- is = new FileInputStream(cmdArgs.getInputFile());
- }
- HSSFWorkbook wb = new HSSFWorkbook(is);
-
- ExcelExtractor extractor = new ExcelExtractor(wb);
- extractor.setIncludeSheetNames(cmdArgs.shouldShowSheetNames());
- extractor.setFormulasNotResults(!cmdArgs.shouldEvaluateFormulas());
- extractor.setIncludeCellComments(cmdArgs.shouldShowCellComments());
- extractor.setIncludeBlankCells(cmdArgs.shouldShowBlankCells());
- extractor.setIncludeHeadersFooters(cmdArgs.shouldIncludeHeadersFooters());
- System.out.println(extractor.getText());
- extractor.close();
- } catch (Exception e) {
- e.printStackTrace();
- System.exit(1);
+ InputStream is;
+ if(cmdArgs.getInputFile() == null) {
+ is = System.in;
+ } else {
+ is = new FileInputStream(cmdArgs.getInputFile());
}
+ HSSFWorkbook wb = new HSSFWorkbook(is);
+ is.close();
+
+ ExcelExtractor extractor = new ExcelExtractor(wb);
+ extractor.setIncludeSheetNames(cmdArgs.shouldShowSheetNames());
+ extractor.setFormulasNotResults(!cmdArgs.shouldEvaluateFormulas());
+ extractor.setIncludeCellComments(cmdArgs.shouldShowCellComments());
+ extractor.setIncludeBlankCells(cmdArgs.shouldShowBlankCells());
+ extractor.setIncludeHeadersFooters(cmdArgs.shouldIncludeHeadersFooters());
+ System.out.println(extractor.getText());
+ extractor.close();
}
/**
* Should sheet names be included? Default is true
package org.apache.poi.hssf.usermodel;
-import org.apache.poi.ddf.*;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+
+import org.apache.poi.ddf.EscherBoolProperty;
+import org.apache.poi.ddf.EscherChildAnchorRecord;
+import org.apache.poi.ddf.EscherClientAnchorRecord;
+import org.apache.poi.ddf.EscherContainerRecord;
+import org.apache.poi.ddf.EscherOptRecord;
+import org.apache.poi.ddf.EscherProperties;
+import org.apache.poi.ddf.EscherProperty;
+import org.apache.poi.ddf.EscherRGBProperty;
+import org.apache.poi.ddf.EscherSimpleProperty;
+import org.apache.poi.ddf.EscherSpRecord;
import org.apache.poi.hssf.record.CommonObjectDataSubRecord;
import org.apache.poi.hssf.record.ObjRecord;
import org.apache.poi.util.LittleEndian;
-
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
+import org.apache.poi.util.POILogFactory;
+import org.apache.poi.util.POILogger;
/**
* An abstract shape.
* setFlipVertical() or setFlipHorizontally().
*/
public abstract class HSSFShape {
+ private static final POILogger LOG = POILogFactory.getLogger(HSSFShape.class);
+
public static final int LINEWIDTH_ONE_PT = 12700;
public static final int LINEWIDTH_DEFAULT = 9525;
public static final int LINESTYLE__COLOR_DEFAULT = 0x08000040;
LittleEndian.putInt(property.getPropertyValue(), bos);
return LittleEndian.getShort(bos.toByteArray(), 2);
} catch (IOException e) {
- e.printStackTrace();
+ LOG.log(POILogger.ERROR, "can't determine rotation degree", e);
return 0;
}
}
import org.apache.poi.util.IOUtils;
import org.apache.poi.util.Internal;
import org.apache.poi.util.LongField;
+import org.apache.poi.util.POILogFactory;
+import org.apache.poi.util.POILogger;
/**
* <p>This is the main class of the POIFS system; it manages the entire
public class NPOIFSFileSystem extends BlockStore
implements POIFSViewable, Closeable
{
-// private static final POILogger _logger =
-// POILogFactory.getLogger(NPOIFSFileSystem.class);
+ private static final POILogger LOG = POILogFactory.getLogger(NPOIFSFileSystem.class);
/**
* Convenience method for clients that want to avoid the auto-close behaviour of the constructor.
}
// else not success? Try block did not complete normally
// just print stack trace and leave original ex to be thrown
- e.printStackTrace();
+ LOG.log(POILogger.ERROR, "can't close input stream", e);
}
}
}
// else not success? Try block did not complete normally
// just print stack trace and leave original ex to be thrown
- e.printStackTrace();
+ _logger.log(POILogger.ERROR, "can't close input stream", e);
}
}
import org.apache.poi.ss.format.CellFormatPart.PartHandler;
import org.apache.poi.util.LocaleUtil;
+import org.apache.poi.util.POILogFactory;
+import org.apache.poi.util.POILogger;
/**
* This class implements printing out a value using a number format.
* @author Ken Arnold, Industrious Media LLC
*/
public class CellNumberFormatter extends CellFormatter {
+ private static final POILogger LOG = POILogFactory.getLogger(CellNumberFormatter.class);
+
private final String desc;
private String printfFmt;
private double scale;
writeSingleInteger(denominatorFmt, d, output, denominatorSpecials,
mods);
} catch (RuntimeException ignored) {
- ignored.printStackTrace();
+ LOG.log(POILogger.ERROR, "error while fraction evaluation", ignored);
}
}
return new NotImplementedException(msg, inner);
} catch (Exception e) {
// avoid bombing out during exception handling
- e.printStackTrace();
+ LOG.log(POILogger.ERROR, "Can't add exception info", e);
return inner; // preserve original exception
}
}
import org.apache.poi.ss.formula.eval.NumberEval;\r
import org.apache.poi.ss.formula.eval.OperandResolver;\r
import org.apache.poi.ss.formula.eval.ValueEval;\r
+import org.apache.poi.util.POILogFactory;\r
+import org.apache.poi.util.POILogger;\r
\r
/**\r
* Implements the Excel Rate function\r
*/\r
public class Rate implements Function {\r
+ private static final POILogger LOG = POILogFactory.getLogger(Rate.class);\r
+ \r
public ValueEval evaluate(ValueEval[] args, int srcRowIndex, int srcColumnIndex) {\r
if (args.length < 3) { //First 3 parameters are mandatory\r
return ErrorEval.VALUE_INVALID;\r
\r
checkValue(rate);\r
} catch (EvaluationException e) {\r
- e.printStackTrace() ;\r
+ LOG.log(POILogger.ERROR, "Can't evaluate rate function", e);\r
return e.getErrorEval();\r
}\r
\r
import org.apache.poi.ss.usermodel.DateUtil;
import org.apache.poi.util.DocumentHelper;
import org.apache.poi.util.LocaleUtil;
+import org.apache.poi.util.POILogFactory;
+import org.apache.poi.util.POILogger;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFMap;
import org.apache.poi.xssf.usermodel.XSSFRow;
* </ul>
*/
public class XSSFExportToXml implements Comparator<String>{
+ private static final POILogger LOG = POILogFactory.getLogger(XSSFExportToXml.class);
private XSSFMap map;
//if no exceptions where raised, the document is valid
return true;
} catch(IOException e) {
- e.printStackTrace();
+ LOG.log(POILogger.ERROR, "document is not valid", e);
}
return false;
import java.util.List;
import org.apache.poi.POIXMLDocumentPart;
+import org.apache.poi.util.POILogFactory;
+import org.apache.poi.util.POILogger;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFFactory;
import org.apache.poi.xwpf.usermodel.XWPFFooter;
* the right headers and footers for the document.
*/
public class XWPFHeaderFooterPolicy {
+ private static final POILogger LOG = POILogFactory.getLogger(XWPFHeaderFooterPolicy.class);
+
public static final Enum DEFAULT = STHdrFtr.DEFAULT;
public static final Enum EVEN = STHdrFtr.EVEN;
public static final Enum FIRST = STHdrFtr.FIRST;
pars[0] = getWatermarkParagraph(text, 3);
createHeader(EVEN, pars);
} catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
+ LOG.log(POILogger.ERROR, "error while creating watermark", e);
}
}
import org.apache.poi.util.IOUtils;
import org.apache.poi.util.IdentifierManager;
import org.apache.poi.util.Internal;
+import org.apache.poi.util.POILogFactory;
+import org.apache.poi.util.POILogger;
import org.apache.poi.util.PackageHelper;
import org.apache.poi.xwpf.model.XWPFHeaderFooterPolicy;
import org.apache.xmlbeans.XmlCursor;
* at some point in your use.</p>
*/
public class XWPFDocument extends POIXMLDocument implements Document, IBody {
+ private static final POILogger LOG = POILogFactory.getLogger(XWPFDocument.class);
+
protected List<XWPFFooter> footers = new ArrayList<XWPFFooter>();
protected List<XWPFHeader> headers = new ArrayList<XWPFHeader>();
protected List<XWPFComment> comments = new ArrayList<XWPFComment>();
int level = Integer.parseInt(parStyle.substring("Heading".length()));
toc.addRow(level, par.getText(), 1, "112723803");
} catch (NumberFormatException e) {
- e.printStackTrace();
+ LOG.log(POILogger.ERROR, "can't format number in TOC heading", e);
}
}
}
#java.lang.Runtime#exit(int)
#java.lang.Runtime#halt(int)
-@defaultMessage Please do not try to stop the world
-java.lang.System#gc()
+
+java.lang.System#gc() @ Please do not try to stop the world
+java.lang.Throwable#printStackTrace() @ Please use POILogger for exceptions
import org.apache.poi.hslf.record.StyleTextPropAtom;
import org.apache.poi.util.HexDump;
import org.apache.poi.util.LittleEndian;
+import org.apache.poi.util.POILogFactory;
+import org.apache.poi.util.POILogger;
/**
* For a given run of characters, holds the properties (which could
* properties, and the indent level if required.
*/
public class TextPropCollection {
+ private static final POILogger LOG = POILogFactory.getLogger(TextPropCollection.class);
+
/** All the different kinds of paragraph properties we might handle */
private static final TextProp[] paragraphTextPropTypes = {
// TextProp order is according to 2.9.20 TextPFException,
writeOut(baos);
byte[] b = baos.toByteArray();
out.append(HexDump.dump(b, 0, 0));
- } catch (Exception e ) {
- e.printStackTrace();
+ } catch (IOException e ) {
+ LOG.log(POILogger.ERROR, "can't dump TextPropCollection", e);
}
return out.toString();
try {
read();
} catch (Exception e){
- logger.log(POILogger.ERROR, "Failed to parse MasterTextPropAtom: " + e.getMessage());
- e.printStackTrace();
+ logger.log(POILogger.ERROR, "Failed to parse MasterTextPropAtom", e);
}
}
/**
* Ruler of a text as it differs from the style's ruler settings.
- *
- * @author Yegor Kozlov
*/
public final class TextRulerAtom extends RecordAtom {
-
/**
* Record header.
*/
read();
} catch (Exception e){
logger.log(POILogger.ERROR, "Failed to parse TextRulerAtom: " + e.getMessage());
- e.printStackTrace();
}
}
* @author Yegor Kozlov
*/
public final class TxMasterStyleAtom extends RecordAtom {
+ private static final POILogger LOG = POILogFactory.getLogger(TxMasterStyleAtom.class);
+
/**
* Maximum number of indentation levels allowed in PowerPoint documents
*/
try {
init();
} catch (Exception e){
- POILogFactory.getLogger(TxMasterStyleAtom.class).log(POILogger.WARN, "Exception when reading available styles", e);
+ LOG.log(POILogger.WARN, "Exception when reading available styles", e);
}
}
package org.apache.poi.hssf.converter;
import java.io.File;
+import java.io.IOException;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
+import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
* </p>
* Where infile is an input .xls file ( Word 97-2007) which will be rendered
* as HTML into outfile
+ * @throws TransformerException
+ * @throws Exception
*/
public static void main( String[] args )
+ throws IOException, ParserConfigurationException, TransformerException
{
if ( args.length < 2 )
{
System.out.println( "Converting " + args[0] );
System.out.println( "Saving output to " + args[1] );
- try
- {
- Document doc = ExcelToHtmlConverter.process( new File( args[0] ) );
-
- DOMSource domSource = new DOMSource( doc );
- StreamResult streamResult = new StreamResult( new File(args[1]) );
-
- TransformerFactory tf = TransformerFactory.newInstance();
- Transformer serializer = tf.newTransformer();
- // TODO set encoding from a command argument
- serializer.setOutputProperty( OutputKeys.ENCODING, "UTF-8" );
- serializer.setOutputProperty( OutputKeys.INDENT, "no" );
- serializer.setOutputProperty( OutputKeys.METHOD, "html" );
- serializer.transform( domSource, streamResult );
- }
- catch ( Exception e )
- {
- e.printStackTrace();
- }
+
+ Document doc = ExcelToHtmlConverter.process( new File( args[0] ) );
+
+ DOMSource domSource = new DOMSource( doc );
+ StreamResult streamResult = new StreamResult( new File(args[1]) );
+
+ TransformerFactory tf = TransformerFactory.newInstance();
+ Transformer serializer = tf.newTransformer();
+ // TODO set encoding from a command argument
+ serializer.setOutputProperty( OutputKeys.ENCODING, "UTF-8" );
+ serializer.setOutputProperty( OutputKeys.INDENT, "no" );
+ serializer.setOutputProperty( OutputKeys.METHOD, "html" );
+ serializer.transform( domSource, streamResult );
}
/**
* @param xlsFile
* file to process
* @return DOM representation of result HTML
+ * @throws IOException
+ * @throws ParserConfigurationException
*/
- public static Document process( File xlsFile ) throws Exception
+ public static Document process( File xlsFile ) throws IOException, ParserConfigurationException
{
final HSSFWorkbook workbook = ExcelToHtmlUtils.loadXls( xlsFile );
ExcelToHtmlConverter excelToHtmlConverter = new ExcelToHtmlConverter(
package org.apache.poi.hwpf;
import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
import org.apache.poi.hwpf.usermodel.CharacterRun;
import org.apache.poi.hwpf.usermodel.Paragraph;
{
}
- public static void main(String[] args)
+ public static void main(String[] args) throws IOException
{
- try
- {
HWPFDocument doc = new HWPFDocument (new FileInputStream (args[0]));
Range r = doc.getRange();
// System.out.println();
// }
// }
-
- }
- catch (Exception t)
- {
- t.printStackTrace();
- }
}
}
if ( hasChp )
{
- SprmBuffer newSprmBuffer;
- try
- {
- newSprmBuffer = (SprmBuffer) sprmBuffer.clone();
- }
- catch ( CloneNotSupportedException e )
- {
- // shall not happen
- throw new Error( e );
- }
+ SprmBuffer newSprmBuffer = sprmBuffer.clone();
CHPX chpx = new CHPX( textPiece.getStart(),
textPiece.getEnd(), newSprmBuffer );
if ( papx.getGrpprl() == null || papx.getGrpprl().length == 0 )
continue;
- if ( sprmBuffer == null )
- try
- {
- sprmBuffer = (SprmBuffer) papx.getSprmBuf().clone();
- }
- catch ( CloneNotSupportedException e )
- {
- // can't happen
- throw new Error( e );
- }
- else
- {
+ if ( sprmBuffer == null ) {
+ sprmBuffer = papx.getSprmBuf().clone();
+ } else {
sprmBuffer.append( papx.getGrpprl(), 2 );
}
}
PAPX currentPap = _paragraphs.get(listIndex);
if (currentPap != null && currentPap.getStart() < cpStart)
{
- SprmBuffer clonedBuf = null;
- try
- {
- clonedBuf = (SprmBuffer)currentPap.getSprmBuf().clone();
- }
- catch (CloneNotSupportedException exc)
- {
- exc.printStackTrace();
- }
+ SprmBuffer clonedBuf = currentPap.getSprmBuf().clone();
// Copy the properties of the one before to afterwards
// Will go:
System.arraycopy( grpprl, offset, _buf, _offset, grpprl.length - offset );
_offset += grpprl.length - offset;
}
- public Object clone()
- throws CloneNotSupportedException
+ public SprmBuffer clone()
{
- SprmBuffer retVal = (SprmBuffer)super.clone();
- retVal._buf = new byte[_buf.length];
- System.arraycopy(_buf, 0, retVal._buf, 0, _buf.length);
- return retVal;
+ try {
+ SprmBuffer retVal = (SprmBuffer)super.clone();
+ retVal._buf = new byte[_buf.length];
+ System.arraycopy(_buf, 0, retVal._buf, 0, _buf.length);
+ return retVal;
+ } catch (CloneNotSupportedException e) {
+ throw new RuntimeException(e);
+ }
}
private void ensureCapacity( int addition )
{