2013年9月23日星期一

jxl export excel when how to type text into digital

jxl export excel when how the text type is converted to digital , know to tell the next .
------ Solution ---------------------------------------- ----
I have encountered this situation , with the jxl.write.Number number = new jxl.write.Number (mm, j + 1, value, format2) ; can be set to a numeric type, but I get the value is a String type, you must first converted to numeric (int, float, double ..), in order to wsheet.addCell (number); this will cause data inconsistencies , such as digital 2364.12 , export to Excel shows 2364.1201171875 , so it is definitely impossible .
------ Solution ---------------------------------------- ----

//Forces numbers to be interpreted as text
WritableFont wf = new WritableFont(WritableFont.ARIAL, 10, WritableFont.NO_BOLD, false);
DisplayFormat displayFormat = NumberFormats.TEXT;
WritableCellFormat format = new WritableCellFormat(wf,displayFormat);
format.setAlignment(jxl.format.Alignment.LEFT);
format.setBorder(jxl.format.Border.ALL,jxl.format.BorderLineStyle.NONE); 

when used jxl.write.Number number = new jxl.write.Number (1, 1, Double.parseDouble (value), format);
wsheet.addCell (number); OK.
attached jxl set numeric type of the source code is as follows:

 // The available built in number formats
  // First describe the fairly bog standard formats

  /***
   * The default format.  This is equivalent to a number format of '#'
   */
  public static final DisplayFormat DEFAULT = new BuiltInFormat(0x0, "#");
  /***
   * Formatting for an integer number.  This is equivalent to a DecimalFormat
   * of "0"
   */
  public static final DisplayFormat INTEGER = new BuiltInFormat(0x1, "0");

  /***
   * Formatting for a float.  This formats number to two decimal places.  It
   * is equivalent to a DecimalFormat of "0.00"
   */
  public static final DisplayFormat FLOAT = new BuiltInFormat(0x2, "0.00");

  /***
   * Formatting for an integer that has a thousands separator.
   * Equivalent to a DecimalFormat of "#,##0"
   */
  public static final DisplayFormat THOUSANDS_INTEGER =
                                       new BuiltInFormat(0x3, "#,##0");

  /***
   * Formatting for a float that has a thousands separator.
   * Equivalent to a DecimalFormat of "#,##0.00"
   */
  public static final DisplayFormat THOUSANDS_FLOAT =
                                        new BuiltInFormat(0x4, "#,##0.00");

  /***
   * Formatting for an integer which is presented in accounting format
   * (ie. deficits appear in parentheses)
   * Equivalent to a DecimalFormat of "$#,##0;($#,##0)"
   */
  public static final DisplayFormat ACCOUNTING_INTEGER =
                                   new BuiltInFormat(0x5, "$#,##0;($#,##0)");

  /***
   * As ACCOUNTING_INTEGER except that deficits appear coloured red
   */
  public static final DisplayFormat ACCOUNTING_RED_INTEGER =
                                    new BuiltInFormat(0x6, "$#,##0;($#,##0)");

  /***
   * Formatting for an integer which is presented in accounting format
   * (ie. deficits appear in parentheses)
   * Equivalent to a DecimalFormat of  "$#,##0;($#,##0)"
   */
  public static final DisplayFormat ACCOUNTING_FLOAT =
                                     new BuiltInFormat(0x7, "$#,##0;($#,##0)");

  /***
   * As ACCOUNTING_FLOAT except that deficits appear coloured red
   */
  public static final DisplayFormat ACCOUNTING_RED_FLOAT =
                                   new BuiltInFormat(0x8, "$#,##0;($#,##0)");

  /***
   * Formatting for an integer presented as a percentage
   * Equivalent to a DecimalFormat of "0%"
   */
  public static final DisplayFormat PERCENT_INTEGER =
    new BuiltInFormat(0x9, "0%");

  /***
   * Formatting for a float percentage
   * Equivalent to a DecimalFormat "0.00%"
   */
  public static final DisplayFormat PERCENT_FLOAT =
    new BuiltInFormat(0xa, "0.00%");

  /***
   * Formatting for exponential or scientific notation
   * Equivalent to a DecimalFormat "0.00E00"
   */
  public static final DisplayFormat EXPONENTIAL =
    new BuiltInFormat(0xb, "0.00E00");

  /*** 
   * Formatting for one digit fractions
   */
  public static final DisplayFormat FRACTION_ONE_DIGIT =
    new BuiltInFormat(0xc,"?/?");

  /*** 
   * Formatting for two digit fractions
   */
  public static final DisplayFormat FRACTION_TWO_DIGITS =
    new BuiltInFormat(0xd,"??/??");

  // Now describe the more obscure formats

  /***
   * Equivalent to a DecimalFormat "#,##0;(#,##0)"
   */
  public static final DisplayFormat FORMAT1 =
                                      new BuiltInFormat(0x25, "#,##0;(#,##0)");

  /***
   * Equivalent to FORMAT1 except deficits are coloured red
   */
  public static final DisplayFormat FORMAT2 =
                                  new BuiltInFormat(0x26, "#,##0;(#,##0)");

  /***
   * Equivalent to DecimalFormat "#,##0.00;(#,##0.00)"
   */
  public static final DisplayFormat FORMAT3 =
                               new BuiltInFormat(0x27, "#,##0.00;(#,##0.00)");

  /***
   * Equivalent to FORMAT3 except deficits are coloured red
   */
  public static final DisplayFormat FORMAT4 =
                                new BuiltInFormat(0x28, "#,##0.00;(#,##0.00)");

  /***
   * Equivalent to DecimalFormat "#,##0;(#,##0)"
   */
  public static final DisplayFormat FORMAT5 =
                                    new BuiltInFormat(0x29, "#,##0;(#,##0)");

  /***
   * Equivalent to FORMAT5 except deficits are coloured red
   */
  public static final DisplayFormat FORMAT6 =
                                   new BuiltInFormat(0x2a, "#,##0;(#,##0)");

  /***
   * Equivalent to DecimalFormat "#,##0.00;(#,##0.00)"
   */
  public static final DisplayFormat FORMAT7 =
                               new BuiltInFormat(0x2b, "#,##0.00;(#,##0.00)");

  /***
   * Equivalent to FORMAT7 except deficits are coloured red
   */
  public static final DisplayFormat FORMAT8 =
                                 new BuiltInFormat(0x2c, "#,##0.00;(#,##0.00)");

  /***
   * Equivalent to FORMAT7
   */
  public static final DisplayFormat FORMAT9 =
                                new BuiltInFormat(0x2e, "#,##0.00;(#,##0.00)");

  /***
   * Equivalent to DecimalFormat "##0.0E0"
   */
  public static final DisplayFormat FORMAT10 =
    new BuiltInFormat(0x30, "##0.0E0");

  /***
   * Forces numbers to be interpreted as text
   */
  public static final DisplayFormat TEXT = new BuiltInFormat(0x31, "@");



------ For reference only -------------------------------- -------
since it is derived : Add to pour out a string of 123 is 123 , right turn show him what to do ! Or some of the ways to use java turn it
------ For reference only ----------------------------- ----------

export excel into a digital format , it is very easy to do the calculation
------ For reference only --------- ------------------------------
to excel magic board corresponding column is set to numeric type most simple and practical .
------ For reference only -------------------------------------- -
sell.setCellType (Cell.StringValue);
like this
------ For reference only ------------------------------- --------
thanks for Kenan Jun !
------ For reference only --------------------- ------------------
good ah. . . Learn

没有评论:

发表评论