Excel-CellFormatter

Excelのセルの書式を解析してフォーマットするライブラリ。

License

License

Categories

Categories

ORM Data
GroupId

GroupId

com.github.mygreen
ArtifactId

ArtifactId

excel-cellformatter
Last Version

Last Version

0.12
Release Date

Release Date

Type

Type

jar
Description

Description

Excel-CellFormatter
Excelのセルの書式を解析してフォーマットするライブラリ。
Project URL

Project URL

http://mygreen.github.io/excel-cellformatter/
Project Organization

Project Organization

mygreen
Source Code Management

Source Code Management

https://github.com/mygreen/excel-cellformatter

Download excel-cellformatter

How to add to project

<!-- https://jarcasting.com/artifacts/com.github.mygreen/excel-cellformatter/ -->
<dependency>
    <groupId>com.github.mygreen</groupId>
    <artifactId>excel-cellformatter</artifactId>
    <version>0.12</version>
</dependency>
// https://jarcasting.com/artifacts/com.github.mygreen/excel-cellformatter/
implementation 'com.github.mygreen:excel-cellformatter:0.12'
// https://jarcasting.com/artifacts/com.github.mygreen/excel-cellformatter/
implementation ("com.github.mygreen:excel-cellformatter:0.12")
'com.github.mygreen:excel-cellformatter:jar:0.12'
<dependency org="com.github.mygreen" name="excel-cellformatter" rev="0.12">
  <artifact name="excel-cellformatter" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.github.mygreen', module='excel-cellformatter', version='0.12')
)
libraryDependencies += "com.github.mygreen" % "excel-cellformatter" % "0.12"
[com.github.mygreen/excel-cellformatter "0.12"]

Dependencies

compile (1)

Group / Artifact Type Version
org.slf4j : slf4j-api jar 1.7.1

provided (3)

Group / Artifact Type Version
org.apache.poi : poi jar 4.1.2
org.apache.poi : poi-ooxml jar 4.1.2
net.sourceforge.jexcelapi : jxl jar 2.6.12

test (4)

Group / Artifact Type Version
junit : junit jar 4.13.1
org.hamcrest : hamcrest-all jar 1.3
org.slf4j : slf4j-log4j12 jar 1.7.1
log4j : log4j jar 1.2.17

Project Modules

There are no modules declared in this project.

Maven Central Javadocs build

excel-cellformatter

Excelのセルの書式を解析してフォーマットするJavaのライブラリ。

前提条件

  • Java1.8+
  • Apache POI v4.0+
  • Slf4j v1.7+

設定

  1. excel-cellformatterのライブラリの依存の追加

    <dependency>
        <groupId>com.github.mygreen</groupId>
        <artifactId>excel-cellformatter</artifactId>
        <version>0.12</version>
    </dependency>
  2. ログライブラリの依存関係を追加します。例として、log4jのケースを以下に示します。

    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>1.7.1</version>
    </dependency>
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.14</version>
    </dependency>

ビルド方法

  1. Java SE 8をインストール

  2. Mavenのインストール

  3. Sphinxのインストール(マニュアルのビルドに使用)

    a. Pythonのインストール

    b. SphinxとJanomeのインストール

    # pip install sphinx
    # pip install janome
  4. Mavenによるビルド

    a. jarの作成

    # mvn clean package

    b.サイト生成

    # mvn site -Dgpg.skip=true

簡単な使い方

Apache POIの場合

Apache POIの場合、POICellFormatter クラスを使います。

Cell cell = /* セルの値の取得 */;

POICellFormatter cellFormatter = new POICellFormatter();
String contents = cellForrmatter.formatAsString(cell);

// ロケールに依存する書式の場合
contents = cellForrmatter.formatAsString(cell, Locale.US);

// 文字色の条件が設定されている場合
CellFormatResult result = cellForrmatter.format(cell);
String text = result.getText(); // フォーマット結果の文字列
MSColor textColor = result.getTextColor(); // フォーマットした文字色

注意事項

  • 単純にフォーマット結果を文字列として取得する場合、#formatAsString(...)メソッドを呼びます。
  • 文字色など書式に条件が設定されている場合、詳細な情報を取得するには、#format(...)メソッドを呼びます。

JExcelAPIの場合

JExcelAPIの場合、JXLCellFormatter クラスを使います。 基本的に、使い方は POICellFormatter と同じです。

// シートの読み込み
final WorkbookSettings settings = new WorkbookSettings();
settings.setSuppressWarnings(true);
settings.setGCDisabled(true);

// 文字コードを「ISO8859_1」にしないと、会計の記号が文字化けする
settings.setEncoding("ISO8859_1");

final Workbook workbook = Workbook.getWorkbook(in, settings);

Cell cell = /* セルの値の取得 */;

JXLCellFormatter cellFormatter = new JXLCellFormatter();

String contents = cellForrmatter.formatAsString(cell);

// ロケールに依存する書式の場合
contents = cellForrmatter.formatAsString(cell, Locale.US);

// 1904年始まりのシートの場合
contents = cellForrmatter.formatAsString(cell, JXLUtils.isDateStart1904(sheet));

JExcelAPIを使用する際の注意事項

  • Excelファイルの読み込み時に、文字コードを「ISO8859_1」にする必要がある。指定しない場合は、書式のパターンが文字化けする。Windows-31jでも文字化けする。
  • 1904年始まりのファイルの設定の場合、メソッド「JXLUtils.isDateStart1904(...)」で調べる。

Javaのオブジェクトを直接フォーマットする場合

Javaのオブジェクトの場合、ObjectCellFormatter クラスを使います。 基本的に、使い方は POICellFormatter と同じです。

Date date = Timestamp.valueOf("2012-02-01 12:10:00.000");

ObjectCellFormatter cellFormatter = new ObjectCellFormatter();
String contents = cellForrmatter.formatAsString("yyyy\"\"m\"\"d\"\";@", date);

// ロケールに依存する書式の場合
contents = cellForrmatter.formatAsString("yyyy\"\"m\"\"d\"\";@", date, Locale.US);

// 文字色の条件が設定されている場合
CellFormatResult result = cellForrmatter.format("[Red]yyyy\"\"m\"\"d\"\";@", date);
String text = result.getText(); // フォーマット結果の文字列
MSColor textColor = result.getTextColor(); // フォーマットした文字色

ドキュメント

https://mygreen.github.io/excel-cellformatter/sphinx/howtouse.html

Versions

Version
0.12
0.11
0.10
0.9.2
0.9.1
0.9
0.8.3
0.8.2
0.8.1
0.8
0.7
0.6
0.5.1
0.5
0.4
0.3
0.2
0.1