Apache POI –コアクラス

この章では、Javaプログラムを使用してExcelファイルを操作するために重要なApache POIAPIのいくつかのクラスとメソッドについて説明します。

ワークブック

これは、Excelワークブックを作成または維持するすべてのクラスのスーパーインターフェイスです。それはに属しますorg.apache.poi.ss.usermodelパッケージ。このインターフェースを実装する2つのクラスは次のとおりです。

  • HSSFWorkbook−このクラスには、MicrosoftExcelファイルを.xls形式で読み書きするためのメソッドがあります。MS-Officeバージョン97〜2003と互換性があります。

  • XSSFWorkbook−このクラスには、MicrosoftExcelおよびOpenOfficexmlファイルを.xlsまたは.xlsx形式で読み書きするためのメソッドがあります。MS-Officeバージョン2007以降と互換性があります。

HSSFWorkbook

それは下の高レベルのクラスです org.apache.poi.hssf.usermodelパッケージ。それは実装しますWorkbookインターフェイスであり、.xls形式のExcelファイルに使用されます。以下にリストされているのは、このクラスのメソッドとコンストラクターの一部です。

クラスコンストラクタ

シニア番号 コンストラクターと説明
1

HSSFWorkbook()

新しいHSSFWorkbookオブジェクトを最初から作成します。

2

HSSFWorkbook(DirectoryNode directory, boolean preserveNodes)

特定のディレクトリ内に新しいHSSFWworkbookオブジェクトを作成します。

3

HSSFWorkbook(DirectoryNode directory, POIFSFileSystem fs, boolean preserveNodes)

POIFSFileSystemオブジェクトとその中の特定のディレクトリを指定すると、指定されたブックを読み取るためのSSFWorkbookオブジェクトが作成されます。

4

HSSFWorkbook(java.io.InputStream s)

入力ストリームを使用して、新しいHSSFWorkbookオブジェクトを作成します。

5

HSSFWorkbook(java.io.InputStream s, boolean preserveNodes)

入力ストリームの周りにPOIファイルシステムを構築します。

6

HSSFWorkbook(POIFSFileSystem fs)

POIFSFileSystemオブジェクトを使用して新しいHSSFWorkbookオブジェクトを構築します。

7

HSSFWorkbook(POIFSFileSystem fs, boolean preserveNodes)

POIFSFileSystemオブジェクトを指定すると、指定されたブックを読み取るための新しいHSSFWorkbookオブジェクトが作成されます。

これらのコンストラクター内で頻繁に使用されるパラメーターは次のとおりです。

  • directory −処理元のPOIファイルシステムディレクトリです。

  • fs −ワークブックストリームを含むのはPOIファイルシステムです。

  • preservenodes−これは、マクロなどの他のノードを保持するかどうかを決定するオプションのパラメーターです。すべてのPOIFileSystemをメモリに格納するため(設定されている場合)、大量のメモリを消費します。

Note− HSSFWorkbookクラスには、いくつかのメソッドが含まれています。ただし、xls形式とのみ互換性があります。このチュートリアルでは、最新バージョンのExcelファイル形式に焦点を当てています。したがって、HSSFWorkbookのクラスメソッドはここにはリストされていません。これらのクラスメソッドが必要な場合は、POI-HSSFWorkbookクラスAPIを参照してください。https://poi.apache.org/apidocs/org/apache/poi/hssf/usermodel/HSSFWorkbook.html.

XSSFWorkbook

これは、高レベルと低レベルの両方のExcelファイル形式を表すために使用されるクラスです。それはに属しますorg.apache.xssf.usemodel パッケージ化して実装します Workbookインターフェース。以下にリストされているのは、このクラスのメソッドとコンストラクターです。

クラスコンストラクタ

シニア番号 コンストラクターと説明
1

XSSFWorkbook()

新しいXSSFworkbookオブジェクトを最初から作成します。

2

XSSFWorkbook(java.io.File file)

指定されたファイルからXSSFWorkbookオブジェクトを構築します。

3

XSSFWorkbook(java.io.InputStream is)

入力ストリーム全体をメモリにバッファリングし、そのOPCPackageオブジェクトを開くことにより、XSSFWorkbookオブジェクトを構築します。

4

XSSFWorkbook(java.lang.String path)

ファイルのフルパスを指定してXSSFWorkbookオブジェクトを作成します。

クラスメソッド

シニア番号 方法と説明
1

createSheet()

このブックのXSSFSheetを作成し、シートに追加して、高レベルの表現を返します。

2

createSheet(java.lang.String sheetname)

このワークブックの新しいシートを作成し、高レベルの表現を返します。

3

createFont()

新しいフォントを作成し、それをブックのフォントテーブルに追加します。

4

createCellStyle()

新しいXSSFCellStyleを作成し、それをブックのスタイルテーブルに追加します。

5

createFont()

新しいフォントを作成し、それをブックのフォントテーブルに追加します。

6

setPrintArea(int sheetIndex, int startColumn, int endColumn, int startRow,int endRow)

指定されたパラメータに従って、指定されたシートの印刷領域を設定します。

このクラスの残りのメソッドについては、次の場所にある完全なAPIドキュメントを参照してください。 https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFWorkbook.html. メソッドの完全なリストについては。

シート

シートは、 org.apache.poi.ss.usermodelパッケージであり、特定の名前で高レベルまたは低レベルのスプレッドシートを作成するすべてのクラスのスーパーインターフェイスです。最も一般的なタイプのスプレッドシートはワークシートで、セルのグリッドとして表されます。

HSSFシート

これは下のクラスです org.apache.poi.hssf.usermodelパッケージ。Excelスプレッドシートを作成でき、シートスタイルとシートデータをフォーマットできます。

クラスコンストラクタ

シニア番号 コンストラクターと説明
1

HSSFSheet(HSSFWorkbook workbook)

シートを最初から作成するためにHSSFWorkbookによって呼び出される新しいHSSFSheetを作成します。

2

HSSFSheet(HSSFWorkbook workbook, InternalSheet sheet)

指定されたシートオブジェクトを表すHSSFSheetを作成します。

XSSFシート

これは、Excelスプレッドシートの高レベルの表現を表すクラスです。下にありますorg.apache.poi.hssf.usermodel パッケージ。

クラスコンストラクタ

シニア番号 コンストラクターと説明
1

XSSFSheet()

新しいXSSFSheetを作成します-シートを最初から作成するためにXSSFWorkbookによって呼び出されます。

2

XSSFSheet(PackagePart part, PackageRelationship rel)

指定されたパッケージパーツと関係を表すXSSFSheetを作成します。

クラスメソッド

シニア番号 方法と説明
1

addMergedRegion(CellRangeAddress region)

セルのマージされた領域を追加します(したがって、これらのセルは1つを形成します)。

2

autoSizeColumn(int column)

内容に合わせて列幅を調整します。

3

iterator()

このメソッドは、foreachループを許可するrowIterator()のエイリアスです。

4

addHyperlink(XSSFHyperlink hyperlink)

このシートのハイパーリンクのコレクションにハイパーリンクを登録します

このクラスの残りのメソッドについては、次の場所にある完全なAPIを参照してください。 https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFSheet.html.

これは、 org.apache.poi.ss.usermodelパッケージ。スプレッドシートの行の高レベルの表現に使用されます。これは、POIライブラリの行を表すすべてのクラスのスーパーインターフェイスです。

XSSFRow

これは下のクラスです org.apache.poi.xssf.usermodelパッケージ。Rowインターフェースを実装しているため、スプレッドシートに行を作成できます。以下にリストされているのは、このクラスのメソッドとコンストラクターです。

クラスメソッド

シニア番号 方法と説明
1

createCell(int columnIndex)

行内に新しいセルを作成して返します。

2

setHeight(short height)

高さを短い単位で設定します。

このクラスの残りのメソッドについては、指定されたリンクをたどってください https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFRow.html

細胞

これは、 org.apache.poi.ss.usermodelパッケージ。これは、スプレッドシートの行のセルを表すすべてのクラスのスーパーインターフェイスです。

セルは、空白、数値、日付、エラーなどのさまざまな属性をとることができます。セルは、行に追加される前に独自の数値(0ベース)を持っている必要があります。

XSSFCell

これは下のクラスです org.apache.poi.xssf.usermodelパッケージ。Cellインターフェースを実装します。これは、スプレッドシートの行のセルの高レベルの表現です。

フィールドサマリー

以下にリストされているのは、XSSFCellクラスのいくつかのフィールドとその説明です。

シニア番号 セルの種類と説明
1

CELL_TYPE_BLANK

空白のセルを表します

2

CELL_TYPE_BOOLEAN

ブールセルを表します(trueまたはfalse)

3

CELL_TYPE_ERROR

セルのエラー値を表します

4

CELL_TYPE_FORMULA

セルの数式結果を表します

5

CELL_TYPE_NUMERIC

セルの数値データを表します

6

CELL_TYPE_STRING

セル上の文字列(テキスト)を表します

クラスメソッド

シニア番号 方法と説明
1

setCellStyle(CellStyle style)

セルのスタイルを設定します。

2

setCellType(int cellType)

セルのタイプ(数値、数式、または文字列)を設定します。

3

setCellValue(boolean value)

セルのブール値を設定します。

4

setCellValue(java.util.Calendar value)

セルの日付値を設定します。

5

setCellValue(double value)

セルの数値を設定します。

6

setCellValue(java.lang.String str)

セルの文字列値を設定します。

7

setHyperlink(Hyperlink hyperlink)

このセルにハイパーリンクを割り当てます。

このクラスの残りのメソッドとフィールドについては、次のリンクにアクセスしてください。 https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFCell.html

XSSFCellStyle

これは下のクラスです org.apache.poi.xssf.usermodelパッケージ。スプレッドシートのセル内のコンテンツの形式に関する可能な情報を提供します。また、その形式を変更するためのオプションも提供します。CellStyleインターフェースを実装します。

フィールドサマリー

次の表に、CellStyleインターフェイスから継承されるいくつかのフィールドを示します。

シニア番号 フィールドと説明
1

ALIGN_CENTER

セルの内容を中央揃えにします

2

ALIGN_CENTER_SELECTION

中央選択の水平方向の配置

3

ALIGN_FILL

コンテンツサイズに合わせたセル

4

ALIGN_JUSTIFY

セルの内容をその幅に合わせる

5

ALIGN_LEFT

セルの内容を左揃えにします

6

ALIGN_RIGHT

セルの内容を右揃え

7

BORDER_DASH_DOT

ダッシュとドットのセルスタイル

8

BORDER_DOTTED

点線のセルスタイル

9

BORDER_DASHED

破線の境界線のあるセルスタイル

10

BORDER_THICK

太いボーダーのセルスタイル

11

BORDER_THIN

細いボーダーのセルスタイル

12

VERTICAL_BOTTOM

セルの内容を垂直下に揃えます

13

VERTICAL_CENTER

セルの内容を垂直方向の中央に揃えます

15

VERTICAL_JUSTIFY

セルの内容を垂直方向に揃えて揃えます

16

VERTICAL_TOP

上揃え垂直配置

クラスコンストラクタ

シニア番号 コンストラクターと説明
1

XSSFCellStyle(int cellXfId, int cellStyleXfId, StylesTable stylesSource, ThemesTable theme)

付属のパーツからセルスタイルを作成します

2

XSSFCellStyle(StylesTable stylesSource)

空のセルスタイルを作成します

クラスメソッド

S.No 方法と説明
1

setAlignment(short align)

セルの水平方向の配置のタイプを設定します

2

setBorderBottom(short border)

セルの下の境界線の境界線のタイプを設定します

3

setBorderColor(XSSFCellBorder.BorderSide side, XSSFColor color)

選択した境界線の色を設定します

4

setBorderLeft(Short border)

セルの左側の境界線の種類を設定します

5

setBorderRight(short border)

セルの右側の境界線の種類を設定します

6

setBorderTop(short border)

セルの上部の境界線の種類を設定します

7

setFillBackgroundColor(XSSFColor color)

XSSFColor値として表される背景の塗りつぶし色を設定します。

8

setFillForegroundColor(XSSFColor color)

XSSFColor値として表される前景色の塗りつぶし色を設定します。

9

setFillPattern(short fp)

パターンおよび単色のセル塗りつぶしのセル塗りつぶし情報を指定します。

10

setFont(Font font)

このスタイルのフォントを設定します。

11

setRotation(short rotation)

セル内のテキストの回転角度を設定します。

12

setVerticalAlignment(short align)

セルの垂直方向の配置のタイプを設定します。

このクラスの残りのメソッドとフィールドについては、次のリンクを参照してください。 https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFCellStyle.html

HSSFColor

これは下のクラスです org.apache.poi.hssf.utilパッケージ。ネストされたクラスとしてさまざまな色を提供します。通常、これらのネストされたクラスは、独自のインデックスを使用して表されます。Colorインターフェースを実装しています。

ネストされたクラス

このクラスのネストされたクラスはすべて静的であり、各クラスにはインデックスがあります。これらのネストされたカラークラスは、セルの内容、境界線、前景、背景などのセルの書式設定に使用されます。以下にリストされているのは、ネストされたクラスの一部です。

シニア番号 クラス名(色)
1 HSSFColor.AQUA
2 HSSFColor.AUTOMATIC
3 HSSFColor.BLACK
4 HSSFColor.BLUE
5 HSSFColor.BRIGHT_GREEN
6 HSSFColor.BRIGHT_GRAY
7 HSSFColor.CORAL
8 HSSFColor.DARK_BLUE
9 HSSFColor.DARK_GREEN
10 HSSFColor.SKY_BLUE
11 HSSFColor.WHITE
12 HSSFColor.YELLOW

クラスメソッド

このクラスの1つのメソッドのみが重要であり、それはインデックス値を取得するために使用されます。

シニア番号 方法と説明
1

getIndex()

このメソッドは、ネストされたクラスのインデックス値を取得するために使用されます。

残りのメソッドとネストされたクラスについては、次のリンクを参照してください。 https://poi.apache.org/apidocs/org/apache/poi/hssf/util/HSSFColor.html

XSSFColor

これは下のクラスです org.apache.poi.xssf.usermodelパッケージ。スプレッドシートの色を表すために使用されます。Colorインターフェースを実装しています。以下にリストされているのは、そのメソッドとコンストラクターの一部です。

クラスコンストラクタ

シニア番号 コンストラクターと説明
1

XSSFColor()

XSSFColorの新しいインスタンスを作成します。

2

XSSFColor(byte[] rgb)

RGBを使用してXSSFColorの新しいインスタンスを作成します。

3

XSSFColor(java.awt.Color clr)

awtパッケージのColorクラスを使用して、XSSFColorの新しいインスタンスを作成します。

クラスメソッド

シニア番号 方法と説明
1

setAuto(boolean auto)

ブール値を設定して、ctColorが自動であり、システムのctColorが依存していることを示します。

2

setIndexed(int indexed)

インデックス付きのctColor値をシステムctColorとして設定します。

残りの方法については、次のリンクにアクセスしてください。 https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFColor.html

XSSFFont

これは下のクラスです org.apache.poi.xssf.usermodelパッケージ。フォントインターフェイスを実装しているため、ブック内のさまざまなフォントを処理できます。

クラスコンストラクタ

シニア番号 コンストラクターと説明
1

XSSFFont()

新しいXSSFontインスタンスを作成します。

クラスメソッド

シニア番号 方法と説明
1

setBold(boolean bold)

'bold'属性にブール値を設定します。

2

setColor(short color)

フォントのインデックスカラーを設定します。

3

setColor(XSSFColor color)

フォントの色を標準アルファRGBカラー値で設定します。

4

setFontHeight(short height)

フォントの高さをポイントで設定します。

5

setFontName(java.lang.String name)

フォントの名前を設定します。

6

setItalic(boolean italic)

'italic'プロパティにブール値を設定します。

残りの方法については、次のリンクを参照してください。 https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFFont.html

XSSFハイパーリンク

これは下のクラスです org.apache.poi.xssf.usermodelパッケージ。ハイパーリンクインターフェイスを実装します。スプレッドシートのセルコンテンツへのハイパーリンクを設定するために使用されます。

田畑

このクラスのフィールドは次のとおりです。ここで、フィールドは使用されるハイパーリンクのタイプを意味します。

シニア番号 フィールドと説明
1

LINK_DOCUMENT

他のドキュメントをリンクするために使用されます

2

LINK_EMAIL

メールのリンクに使用

3

LINK_FILE

他のファイルを任意の形式でリンクするために使用されます

4

LINK_URL

WebURLをリンクするために使用されます

クラスメソッド

シニア番号 方法と説明
1

setAddress(java.lang.String address)

ハイパーリンクアドレス。

残りの方法については、次のリンクにアクセスしてください。 https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFHyperlink.html

XSSFCreationHelper

これは下のクラスです org.apache.poi.xssf.usermodelパッケージ。これは、CreationHelperインターフェイスを実装します。これは、数式の評価とハイパーリンクの設定のサポートクラスとして使用されます。

クラスメソッド

シニア番号 方法と説明
1

createFormulaEvaluator()

数式セルを評価するオブジェクトであるXSSFFormulaEvaluatorインスタンスを作成します。

2

createHyperlink(int type)

新しいXSSFHyperlinkを作成します。

残りの方法については、次のリンクを参照してください。 https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFCreationHelper.html

XSSFPrintSetup

これは下のクラスです org.apache.poi.xsssf.usermodelパッケージ。それは実装しますPrintSetupインターフェース。印刷ページのサイズ、面積、オプション、および設定を設定するために使用されます。

クラスメソッド

シニア番号 方法と説明
1

setLandscape(boolean ls)

横向き印刷を許可またはブロックするブール値を設定します。

2

setLeftToRight(boolean ltor)

印刷中に左から右に移動するか、上から下に移動するかを設定します。

3

setPaperSize(short size)

用紙サイズを設定します。

残りの方法については、次のリンクにアクセスしてください。 https://poi.apache.org/apidocs/org/apache/poi/hssf/usermodel/HSSFPrintSetup.html