0

POI 3.8 jarをインストールし、コードを切り替えたところ...次のエラーが発生します:

 public static void setStyleDataFormat( CellStyle style, int formatType )
{
    switch( formatType )
    {
        case CELL_TYPE_PERCENTAGE:

            style.setDataFormat(DataFormat.getFormat("0%"));
            break;

        case CELL_TYPE_PERCENTAGE_TWO_DECIMAL_PLACES:

            style.setDataFormat(DataFormat.getFormat("0.00%"));
            break;

        case CELL_TYPE_NUMERIC:

            style.setDataFormat(DataFormat.getFormat("#,##0"));
            break;

        case CELL_TYPE_NUMERIC_TWO_DECIMAL_PLACES:

            style.setDataFormat(DataFormat.getFormat("#,##0.00"));
            break;

        case CELL_TYPE_DATE:
        case CELL_TYPE_DATE_EMPTY_ON_ERROR:

            style.setDataFormat(DataFormat.getFormat("m/d/yy"));
            break;

        case CELL_TYPE_CURRENCY:

            style.setDataFormat(DataFormat.getFormat("($#,##0.00);($#,##0.00)"));
            break;

        case CELL_TYPE_CURRENCY_NO_CENTS:

            style.setDataFormat(DataFormat.getFormat("($#,##0_);($#,##0)"));
            break;
    }
}

非静的メソッドgetFormat(java.lang.String)は静的コンテキストから参照できません

4

2 に答える 2

1

非静的メソッドは静的コンテキストから参照できません。これを修正するのに役立つはずです。Apacheは、それほど静的であってはならないと判断したようです。

于 2012-09-10T19:20:00.267 に答える
0

DataFormatはインターフェースであるため、静的であるかのようにメソッドを呼び出すことはできません。

代わりに、コードは次のようになります。

   // Do this once per workbook
   DataFormat format = wb.createDataFormat();

   .....

   // Use the object in your per-cell work
   for (Cell c : row) {
       CellStyle cs = c.getCellStyle();
       cs.setDataFormat(format.get("dd/mm/yyyy");
   }
于 2012-09-10T20:40:43.123 に答える