jxl.write.NumberFormat Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jxl Show documentation
Show all versions of jxl Show documentation
JExcelApi is a java library which provides the ability to read, write, and modify Microsoft Excel spreadsheets.
The newest version!
/*********************************************************************
*
* Copyright (C) 2002 Andrew Khan
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
***************************************************************************/
package jxl.write;
import java.text.DecimalFormat;
import jxl.biff.DisplayFormat;
import jxl.write.biff.NumberFormatRecord;
/**
* A custom user defined number format, which may be instantiated within user
* applications in order to present numerical values to the appropriate level
* of accuracy.
* The string format used to create a number format adheres to the standard
* java specification, and JExcelAPI makes the necessary modifications so
* that it is rendered in Excel as the nearest possible equivalent.
* Once created, this may be used within a CellFormat object, which in turn
* is a parameter passed to the constructor of the Number cell
*/
public class NumberFormat extends NumberFormatRecord implements DisplayFormat
{
/**
* Pass in to the constructor to bypass the format validation
*/
public static final NonValidatingFormat COMPLEX_FORMAT =
new NumberFormatRecord.NonValidatingFormat();
// Some format strings
/**
* Constant format string for the Euro currency symbol where it precedes
* the format
*/
public static final String CURRENCY_EURO_PREFIX = "[$?-2]";
/**
* Constant format string for the Euro currency symbol where it precedes
* the format
*/
public static final String CURRENCY_EURO_SUFFIX = "[$?-1]";
/**
* Constant format string for the UK pound sign
*/
public static final String CURRENCY_POUND = "?";
/**
* Constant format string for the Japanese Yen sign
*/
public static final String CURRENCY_JAPANESE_YEN = "[$?-411]";
/**
* Constant format string for the US Dollar sign
*/
public static final String CURRENCY_DOLLAR = "[$$-409]";
/**
* Constant format string for three digit fractions
*/
public static final String FRACTION_THREE_DIGITS = "???/???";
/**
* Constant format string for fractions as halves
*/
public static final String FRACTION_HALVES = "?/2";
/**
* Constant format string for fractions as quarter
*/
public static final String FRACTION_QUARTERS = "?/4";
/**
* Constant format string for fractions as eighths
*/
public static final String FRACTIONS_EIGHTHS = "?/8";
/**
* Constant format string for fractions as sixteenths
*/
public static final String FRACTION_SIXTEENTHS = "?/16";
/**
* Constant format string for fractions as tenths
*/
public static final String FRACTION_TENTHS = "?/10";
/**
* Constant format string for fractions as hundredths
*/
public static final String FRACTION_HUNDREDTHS = "?/100";
/**
* Constructor, taking in the Java compliant number format
*
* @param format the format string
*/
public NumberFormat(String format)
{
super(format);
// Verify that the format is valid
DecimalFormat df = new DecimalFormat(format);
}
/**
* Constructor, taking in the non-Java compliant number format. This
* may be used for currencies and more complex custom formats, which
* will not be subject to the standard validation rules.
* As there is no validation, there is a resultant risk that the
* generated Excel file will be corrupt
*
* USE THIS CONSTRUCTOR ONLY IF YOU ARE CERTAIN THAT THE NUMBER FORMAT
* YOU ARE USING IS EXCEL COMPLIANT
*
* @param format the format string
* @param dummy dummy parameter
*/
public NumberFormat(String format, NonValidatingFormat dummy)
{
super(format, dummy);
}
}