public class JXLCellFormatter extends Object
JXLCellFormatterのインスタンスを生成して利用します。
formatAsString(Cell, boolean)を利用します。JXLUtils.isDateStart1904(jxl.Sheet)やJXLUtils.isDateStart1904(jxl.Workbook)で判定します。format(Cell, boolean)の結果であるCellFormatResultから取得します。formatAsString(Cell, Locale, boolean)でロケールを直接指定します。
// シートの読み込み
final WorkbookSettings settings = new WorkbookSettings();
settings.setSuppressWarnings(true);
settings.setGCDisabled(true);
// 文字コードを「ISO8859_1」にしないと、会計の記号が文字化けする
settings.setEncoding("ISO8859_1");
final Workbook workbook = Workbook.getWorkbook(in, settings);
// 基本的な使い方。
JXLCellFormatter cellFormatter = new JXLCellFormatter();
// 1904年始まりかの判定
boolean startDate1904 = JXLUtils.isDateStart1904(workbook);
Cell cell = // セルの取得
String text1 = cellForrmatter.formatAsString(cell, startDate1904);
// ロケールに依存する書式の場合
String text2 = cellForrmatter.formatAsString(cell, Locale.US, startDate1904);
// 文字色の条件が設定されている場合
CellFormatResult result = cellForrmatter.format(cell);
String text3 = result.getText(); // フォーマット結果の文字列
MSColor textColor = result.getTextColor(); // 書式の文字色
| コンストラクタと説明 |
|---|
JXLCellFormatter() |
| 修飾子とタイプ | メソッドと説明 |
|---|---|
CellFormatResult |
format(Cell cell,
boolean isStartDate1904)
セルの値をフォーマットする。
|
CellFormatResult |
format(Cell cell,
Locale locale,
boolean isStartDate1904)
ロケールを指定してセルの値をフォーマットする。
|
String |
formatAsString(Cell cell,
boolean isStartDate1904)
セルの値をフォーマットし、文字列として取得する
|
String |
formatAsString(Cell cell,
Locale locale,
boolean isStartDate1904)
ロケールを指定してセルの値をフォーマットし、文字列として取得する
|
FormatterResolver |
getFormatterResolver()
FormatterResolverを取得する。 |
boolean |
isCache()
パースしたフォーマッタをキャッシュするかどうか。
|
boolean |
isErrorCellAsEmpty()
エラーセルの値を空文字として取得するかどうか。
|
void |
setCache(boolean cache)
パースしたフォーマッタをキャッシュするかどうか設定する。
|
void |
setErrorCellAsEmpty(boolean errorCellAsEmpty)
エラーセルの値を空文字として取得するかどうか設定する。
|
void |
setFormatterResolver(FormatterResolver formatterResolver)
FormatterResolverを設定する。 |
public String formatAsString(Cell cell, boolean isStartDate1904)
cell - フォーマット対象のセルisStartDate1904 - ファイルの設定が1904年始まりかどうか。
JXLUtils.isDateStart1904(jxl.Sheet)で値を調べます。IllegalArgumentException - cell is null.public String formatAsString(Cell cell, Locale locale, boolean isStartDate1904)
cell - フォーマット対象のセルlocale - フォーマットしたロケール。nullでも可能。
ロケールに依存する場合、指定したロケールにより自動的に切り替わります。isStartDate1904 - ファイルの設定が1904年始まりかどうか。
JXLUtils.isDateStart1904(jxl.Sheet)で値を調べます。IllegalArgumentException - cell is null.public CellFormatResult format(Cell cell, boolean isStartDate1904)
cell - フォーマット対象のセルisStartDate1904 - ファイルの設定が1904年始まりかどうか。
JXLUtils.isDateStart1904(jxl.Sheet)で値を調べます。IllegalArgumentException - cell is null.public CellFormatResult format(Cell cell, Locale locale, boolean isStartDate1904)
cell - フォーマット対象のセルlocale - フォーマットしたロケール。nullでも可能。
ロケールに依存する場合、指定したロケールにより自動的に切り替わります。isStartDate1904 - ファイルの設定が1904年始まりかどうか。
JXLUtils.isDateStart1904(jxl.Sheet)で値を調べます。IllegalArgumentException - cell is null.public FormatterResolver getFormatterResolver()
FormatterResolverを取得する。public void setFormatterResolver(FormatterResolver formatterResolver)
FormatterResolverを設定する。
独自のものに入れ替える際に利用します。formatterResolver - public boolean isCache()
public void setCache(boolean cache)
cache - true:キャッシュする。public boolean isErrorCellAsEmpty()
public void setErrorCellAsEmpty(boolean errorCellAsEmpty)
errorCellAsEmpty - true:空文字として取得する。Copyright © 2021 mygreen. All rights reserved.