Apache-poi-quick-guide
Apache POI-概要
多くの場合、Microsoft Excelファイル形式でレポートを生成するにはソフトウェアアプリケーションが必要です。 時には、アプリケーションがExcelファイルを入力データとして受け取ることさえ期待されます。 たとえば、会社の財務部門向けに開発されたアプリケーションは、Excelですべての出力を生成する必要があります。
出力としてMS Officeファイルを作成したいJavaプログラマーは、事前定義された読み取り専用APIを使用して作成する必要があります。
Apache POIとは何ですか?
Apache POIは、プログラマーがJavaプログラムを使用してMS Officeファイルを作成、変更、表示できる一般的なAPIです。 Javaプログラムを使用してMicrosoft Officeファイルを設計または変更するために、Apache Software Foundationによって開発および配布されたオープンソースライブラリです。 ユーザー入力データまたはファイルをMS Officeドキュメントにデコードするクラスとメソッドが含まれています。
Apache POIのコンポーネント
Apache POIには、MS OfficeのすべてのOLE2複合ドキュメントで動作するクラスとメソッドが含まれています。 このAPIのコンポーネントのリストを以下に示します。
- POIFS (低難読化実装ファイルシステム)-このコンポーネントは、他のすべてのPOI要素の基本的な要素です。 異なるファイルを明示的に読み取るために使用されます。
- HSSF (恐ろしいスプレッドシート形式)-MS-Excelファイルの xls 形式の読み取りおよび書き込みに使用されます。
- XSSF (XMLスプレッドシート形式)-MS-Excelの xlsx ファイル形式に使用されます。
- HPSF (恐ろしいプロパティセット形式)-MS-Officeファイルの*プロパティセット*を抽出するために使用されます。
- HWPF (恐ろしいワープロ形式)-MS-Wordの doc 拡張ファイルの読み取りと書き込みに使用されます。
- XWPF (XMLワープロ形式)-MS-Wordの docx 拡張ファイルを読み書きするために使用されます。
- HSLF (恐ろしいスライドレイアウト形式)-PowerPointプレゼンテーションの読み取り、作成、および編集に使用されます。
- HDGF (恐ろしいDiaGram形式)- MS-Visio バイナリファイルのクラスとメソッドが含まれています。
- HPBF (恐ろしいPuBlisher形式)- MS-Publisher ファイルの読み取りと書き込みに使用されます。
このチュートリアルでは、Javaを使用してExcelファイルを操作するプロセスをガイドします。 したがって、説明はHSSFおよびXSSFコンポーネントに限定されます。
注意-POIの古いバージョンは、doc、xls、pptなどのバイナリファイル形式をサポートしています。 バージョン3.5以降、POIはdocx、xlsx、pptxなどのMS-OfficeのOOXMLファイル形式をサポートします。
Apache POIと同様に、Excelファイル生成用にさまざまなベンダーから提供されている他のライブラリがあります。 これらには、Asposeによる* Asposeセル*、Commons Librariesによる JXL 、およびTeam Devによる JExcel が含まれます。
Apache POI-Java Excel API
この章では、Java Excel APIのフレーバーとその機能について説明します。 Java Excel関連のAPIを提供する多くのベンダーがあります。それらのいくつかはこの章で検討されます。
Aspose Cells for Java
Aspose Cells for Javaは、ベンダーのAsposeによって開発および配布された、純粋にライセンスされたJava Excel APIです。 このAPIの最新バージョンは8.1.2で、2014年7月にリリースされました。 これは、スプレッドシートの読み取り、書き込み、および操作が可能なExcelコンポーネントを設計するための、豊富で重いAPI(プレーンなJavaクラスとAWTクラスの組み合わせ)です。
このAPIの一般的な使用法は次のとおりです-
- Excelレポート、動的Excelレポートの作成
- 高忠実度のExcelレンダリングと印刷
- Excelスプレッドシートからデータをインポートおよびエクスポートする
- スプレッドシートを生成、編集、変換する
JXL
JXLは、Selenium向けに設計されたサードパーティのフレームワークであり、Webブラウザーでのデータ駆動型自動化(Webブラウザーでのデータの自動更新)をサポートします。 ただし、スプレッドシートを作成、読み取り、および書き込むための基本的な機能があるため、JExcel APIの共通サポートライブラリとしても使用されます。
基本的な機能は次のとおりです-
- Excelファイルを生成する
- ワークブックとスプレッドシートからデータをインポートする
- 行と列の総数を取得する
注意-JXLは.xlsファイル形式のみをサポートし、大量のデータを処理できません。
JExcel
JExcelは、Team Devが提供する純粋にライセンスされたAPIです。 これを使用すると、プログラマは .xls および .xlsx 形式の両方でExcelブックを簡単に読み取り、書き込み、表示、および変更できます。 このAPIは、Java SwingおよびAWTを使用して簡単に組み込むことができます。 このAPIの最新バージョンは、2009年にリリースされたJexcel-2.6.12です。
主な機能は次のとおりです-
- Excelアプリケーション、ワークブック、スプレッドシートなどを自動化する
- Java Swingアプリケーションにワークブックを通常のSwingコンポーネントとして埋め込む
- ワークブックとスプレッドシートにイベントリスナーを追加する
- ブックおよびスプレッドシートイベントの動作を処理するイベントハンドラーを追加する
- ネイティブピアを追加してカスタム機能を開発する
アパッチPOI
Apache POIは、Apache Software Foundationが提供する100%オープンソースライブラリです。 中小規模のアプリケーション開発者のほとんどは、Apache POI(HSSF + XSSF)に大きく依存しています。 Excelライブラリのすべての基本機能をサポートしています。ただし、レンダリングとテキスト抽出が主な機能です。
Apache POI-環境
この章では、WindowsおよびLinuxベースのシステムでApache POIを設定するプロセスについて説明します。 Apache POIは、複雑なセットアップ手順なしで、簡単な手順で簡単にインストールして、現在のJava環境に統合できます。 インストール中にユーザー管理が必要です。
システム要求
JDK | Java SE 2 JDK 1.5 or above |
Memory | 1 GB RAM (recommended) |
Disk Space | No minimum requirement |
Operating System Version | Windows XP or above, Linux |
Apache POIをインストールする手順に進みましょう。
ステップ1:Javaインストールを確認する
まず、システムにJava Software Development Kit(SDK)をインストールする必要があります。 これを確認するには、作業しているプラットフォームに応じて2つのコマンドのいずれかを実行します。
Javaインストールが適切に行われている場合、Javaインストールの現在のバージョンと仕様が表示されます。 サンプル出力を次の表に示します。
Platform | Command | Sample Output |
---|---|---|
Windows |
Open command console and type −
a |
Javaバージョン「1.7.0_60」 Java(TM)SEランタイム環境(ビルド1.7.0_60-b19) Java Hotspot(TM)64ビットサーバーVM(ビルド24.60-b09、混合モード) |
Linux |
Open command terminal and type −
a |
Javaバージョン "1.7.0_25" JDKランタイム環境を開く(rhel-2.3.10.4.el6_4-x86_64) JDK 64ビットサーバーVMを開く(ビルド23.7-b01、混合モード) |
- このチュートリアルの読者は、システムにJava SDKバージョン1.7.0_60がインストールされていることを前提としています。 *Java SDKがない場合は、https://www.oracle.com/technetwork/java/javase/downloads/indexlから現在のバージョンをダウンロードし、インストールしてください。
ステップ2:Java環境を設定する
Javaがマシンにインストールされているベースディレクトリの場所を指すように、環境変数JAVA_HOMEを設定します。 例えば、
Sr.No. | Platform & Description |
---|---|
1 |
JAVA_HOMEをC:\ ProgramFiles \ java \ jdk1.7.0_60に設定します |
2 |
Linux エクスポートJAVA_HOME =/usr/local/java-current |
Javaコンパイラの場所の完全パスをシステムパスに追加します。
Sr.No. | Platform & Description |
---|---|
1 |
Windows 文字列「C:\ Program Files \ Java \ jdk1.7.0_60 \ bin」をシステム変数PATHの最後に追加します。 |
2 |
Linux エクスポートPATH = $ PATH:$ JAVA_HOME/bin/ |
上記で説明したように、コマンドプロンプトからコマンド java -version を実行します。
ステップ3:Apache POIライブラリをインストールする
[[1]] POIをダウンロードし、必要なライブラリをJavaプログラムにリンクできるフォルダにそのコンテンツを解凍します。 ファイルがCドライブのフォルダーに収集されると仮定します。
次の画像は、ダウンロードしたフォルダー内のディレクトリとファイル構造を示しています。
上記の画像で強調表示されている5つの jars の完全なパスをCLASSPATHに追加します。
Sr.No. | Platform & Description |
---|---|
1 |
Windows ユーザー変数の末尾に次の文字列を追加します クラスパス- 「C:\ poi-3.9 \ poi-3.9-20121203.jar;」 「C:\ poi-3.9 \ poi-ooxml-3.9-20121203.jar;」 「C:\ poi-3.9 \ poi-ooxml-schemas-3.9-20121203.jar;」 「C:\ poi-3.9 \ ooxml-lib \ dom4j-1.6.1.jar;」 「C:\ poi-3.9 \ ooxml-lib \ xmlbeans-2.3.0.jar;。;」 |
2 |
Linux エクスポートCLASSPATH = $ CLASSPATH: /usr/share/poi-3.9/poi-3.9-20121203.tar: /usr/share/poi-3.9/poi-ooxml-schemas-3.9-20121203.tar: /usr/share/poi-3.9/poi-ooxml-3.9-20121203.tar: /usr/share/poi-3.9/ooxml-lib/dom4j-1.6.1.tar: /usr/share/poi-3.9/ooxml-lib/xmlbeans-2.3.0.tar |
Apache POI –コアクラス
この章では、Javaプログラムを使用してExcelファイルを操作するために重要なApache POI APIのクラスとメソッドについて説明します。
ワークブック
これは、Excelブックを作成または管理するすべてのクラスのスーパーインターフェイスです。 org.apache.poi.ss.usermodel パッケージに属します。 このインターフェイスを実装する2つのクラスは次のとおりです-
- HSSFWorkbook -このクラスには、.xls形式のMicrosoft Excelファイルを読み書きするメソッドがあります。 MS-Officeバージョン97–2003と互換性があります。
- XSSFWorkbook -このクラスには、.xlsまたは.xlsx形式のMicrosoft ExcelおよびOpenOffice xmlファイルを読み書きするメソッドがあります。 MS-Officeバージョン2007以降と互換性があります。
HSSFWorkbook
これは org.apache.poi.hssf.usermodel パッケージの下にある高レベルのクラスです。 Workbook インターフェースを実装し、.xls形式のExcelファイルに使用されます。 以下に、このクラスのメソッドとコンストラクターの一部を示します。
クラスコンストラクター
Sr.No. | Constructor & Description |
---|---|
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オブジェクトを作成して、指定されたワークブックを読み取ります。 |
これらのコンストラクタ内で頻繁に使用されるパラメータは次のとおりです-
- ディレクトリ-処理元のPOIファイルシステムディレクトリです。
- fs -ワークブックストリームを含むのはPOIファイルシステムです。
- preservenodes -これは、マクロなどの他のノードを保持するかどうかを決定するオプションのパラメーターです。 POIFileSystemをすべてメモリに保存するため(設定されている場合)、大量のメモリを消費します。
注-HSSFWorkbookクラスには多くのメソッドが含まれています。ただし、これらはxls形式とのみ互換性があります。 このチュートリアルでは、最新バージョンのExcelファイル形式に焦点を当てています。 したがって、HSSFWorkbookのクラスメソッドはここにリストされていません。 これらのクラスメソッドが必要な場合は、http://poi.apache.org/apidocs/org/apache/poi/hssf/usermodel/HSSFWorkbookl [[[2]]]
XSSFWorkbook
これは、高レベルと低レベルの両方のExcelファイル形式を表すために使用されるクラスです。 org.apache.xssf.usemodel パッケージに属し、 Workbook インターフェースを実装します。 以下に、このクラスのメソッドとコンストラクターをリストします。
クラスコンストラクター
Sr.No. | Constructor & Description |
---|---|
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オブジェクトを構築します。 |
クラスメソッド
Sr.No. | Method & Description |
---|---|
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) 指定されたパラメーターに従って、指定されたシートの印刷領域を設定します。 |
このクラスの残りのメソッドについては、https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFWorkbookl [[[3]]]をご覧ください。
シート
Sheetは org.apache.poi.ss.usermodel パッケージの下のインターフェースであり、特定の名前で高レベルまたは低レベルのスプレッドシートを作成するすべてのクラスのスーパーインターフェースです。 スプレッドシートの最も一般的なタイプはワークシートであり、セルのグリッドとして表されます。
HSSFSheet
これは org.apache.poi.hssf.usermodel パッケージの下のクラスです。 Excelスプレッドシートを作成でき、シートスタイルとシートデータをフォーマットできます。
クラスコンストラクター
Sr.No. | Constructor & Description |
---|---|
1 |
HSSFSheet(HSSFWorkbook workbook) HSSFWorkbookによって呼び出される新しいHSSFSheetを作成して、シートを最初から作成します。 |
2 |
HSSFSheet(HSSFWorkbook workbook, InternalSheet sheet) 指定されたシートオブジェクトを表すHSSFSheetを作成します。 |
XSSFSheet
これは、Excelスプレッドシートの高レベルの表現を表すクラスです。 org.apache.poi.hssf.usermodel パッケージの下にあります。
クラスコンストラクター
Sr.No. | Constructor & Description |
---|---|
1 |
XSSFSheet() 新しいXSSFSheetを作成します-XSSFWorkbookによって呼び出され、シートを最初から作成します。 |
2 |
XSSFSheet(PackagePart part, PackageRelationship rel) 指定されたパッケージパーツと関係を表すXSSFSheetを作成します。 |
クラスメソッド
Sr.No. | Method & Description |
---|---|
1 |
addMergedRegion(CellRangeAddress region) セルの結合領域を追加します(したがって、これらのセルが1つを形成します)。 |
2 |
autoSizeColumn(int column) 内容に合わせて列の幅を調整します。 |
3 |
iterator() このメソッドは、foreachループを許可するrowIterator()のエイリアスです |
4 |
addHyperlink(XSSFHyperlink hyperlink) このシートのハイパーリンクのコレクションにハイパーリンクを登録します |
このクラスの残りのメソッドについては、https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFSheetl [[[4]] org/apache/poi/xssf/usermodel/XSSFSheetl。]
Row
これは org.apache.poi.ss.usermodel パッケージの下のインターフェースです。 スプレッドシートの行の高レベル表現に使用されます。 これは、POIライブラリの行を表すすべてのクラスのスーパーインターフェースです。
XSSFRow
これは org.apache.poi.xssf.usermodel パッケージの下のクラスです。 Rowインターフェイスを実装するため、スプレッドシートに行を作成できます。 以下に、このクラスのメソッドとコンストラクターをリストします。
クラスメソッド
Sr.No. | Method & Description |
---|---|
1 |
createCell(int columnIndex) 行内に新しいセルを作成して返します。 |
2 |
setHeight(short height) 高さを短い単位で設定します。 |
このクラスの残りのメソッドについては、所定のリンクhttps://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFRowlに従ってください。
Cell
これは org.apache.poi.ss.usermodel パッケージの下のインターフェースです。 これは、スプレッドシートの行のセルを表すすべてのクラスのスーパーインターフェースです。
セルは、空白、数値、日付、エラーなどのさまざまな属性を取得できます。 セルは、行に追加される前に、独自の番号(0ベース)を持つ必要があります。
XSSFCell
これは org.apache.poi.xssf.usermodel パッケージの下のクラスです。 Cellインターフェースを実装します。 これは、スプレッドシートの行のセルの高レベルの表現です。
フィールドサマリー
以下に、XSSFCellクラスのフィールドの一部とその説明を示します。
Sr.No. | Cell Type & Description |
---|---|
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 セルの文字列(テキスト)を表します |
クラスメソッド
Sr.No. | Method & Description |
---|---|
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/XSSFCelll
XSSFCellStyle
これは org.apache.poi.xssf.usermodel パッケージの下のクラスです。 スプレッドシートのセル内のコンテンツの形式に関する可能な情報を提供します。 また、その形式を変更するためのオプションも提供します。 CellStyleインターフェースを実装します。
フィールドサマリー
次の表に、CellStyleインターフェースから継承されるいくつかのフィールドを示します。
Sr.No. | Field & Description |
---|---|
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 上揃えの縦揃え |
クラスコンストラクター
Sr.No. | Constructor & Description |
---|---|
1 |
XSSFCellStyle(int cellXfId, int cellStyleXfId, StylesTable stylesSource, ThemesTable theme) 指定されたパーツからセルスタイルを作成します |
2 |
XSSFCellStyle(StylesTable stylesSource) 空のセルスタイルを作成します |
クラスメソッド
S.No | Method & Description |
---|---|
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/XSSFCellStylel
HSSFColor
これは org.apache.poi.hssf.util パッケージの下のクラスです。 ネストされたクラスとして異なる色を提供します。 通常、これらのネストされたクラスは、独自のインデックスを使用して表されます。 Colorインターフェイスを実装します。
入れ子クラス
このクラスのネストされたクラスはすべて静的であり、各クラスにはインデックスがあります。 これらのネストされたカラークラスは、セルコンテンツ、境界線、前景、背景などのセルの書式設定に使用されます。 以下は、ネストされたクラスの一部です。
Sr.No. | Class names (colors) |
---|---|
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つのメソッドのみが重要であり、それはインデックス値を取得するために使用されます。
Sr.No. | Method & Description |
---|---|
1 |
getIndex() このメソッドは、ネストされたクラスのインデックス値を取得するために使用されます。 |
残りのメソッドとネストされたクラスについては、次のリンクを参照してください。https://poi.apache.org/apidocs/org/apache/poi/hssf/util/HSSFColorl
XSSFColor
これは org.apache.poi.xssf.usermodel パッケージの下のクラスです。 スプレッドシートで色を表すために使用されます。 Colorインターフェイスを実装します。 以下に、そのメソッドとコンストラクターの一部を示します。
クラスコンストラクター
Sr.No. | Constructor & Description |
---|---|
1 |
XSSFColor() XSSFColorの新しいインスタンスを作成します。 |
2 |
XSSFColor(byte[] rgb) RGBを使用してXSSFColorの新しいインスタンスを作成します。 |
3 |
XSSFColor(java.awt.Color clr) awtパッケージのColorクラスを使用して、XSSFColorの新しいインスタンスを作成します。 |
クラスメソッド
Sr.No. | Method & Description |
---|---|
1 |
setAuto(boolean auto) ブール値を設定して、ctColorが自動であり、システムctColorが依存していることを示します。 |
2 |
setIndexed(int indexed) インデックス付きctColor値をシステムctColorとして設定します。 |
残りのメソッドについては、次のリンクにアクセスしてください:https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFColorl
XSSFFont
これは org.apache.poi.xssf.usermodel パッケージの下のクラスです。 Fontインターフェイスを実装しているため、ワークブック内のさまざまなフォントを処理できます。
クラスコンストラクター
Sr.No. | Constructor & Description |
---|---|
1 |
XSSFFont() 新しいXSSFontインスタンスを作成します。 |
クラスメソッド
Sr.No. | Method & Description |
---|---|
1 |
setBold(boolean 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/XSSFFontl
XSSFHyperlink
これは org.apache.poi.xssf.usermodel パッケージの下のクラスです。 Hyperlinkインターフェースを実装します。 スプレッドシートのセルコンテンツへのハイパーリンクを設定するために使用されます。
フィールド
このクラスのフィールドは次のとおりです。 ここで、フィールドは使用されるハイパーリンクのタイプを意味します。
Sr.No. | Field & Description |
---|---|
1 |
LINK_DOCUMENT 他のドキュメントをリンクするために使用 |
2 |
LINK_EMAIL メールのリンクに使用 |
3 |
LINK_FILE 任意の形式の他のファイルをリンクするために使用されます |
4 |
LINK_URL Web URLのリンクに使用 |
クラスメソッド
Sr.No. | Method & Description |
---|---|
1 |
setAddress(java.lang.String address) ハイパーリンクアドレス。 |
残りのメソッドについては、次のリンクにアクセスしてください:https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFHyperlinkl
XSSFCreationHelper
これは org.apache.poi.xssf.usermodel パッケージの下のクラスです。 CreationHelperインターフェイスを実装します。 数式の評価とハイパーリンクの設定のサポートクラスとして使用されます。
クラスメソッド
Sr.No. | Method & Description |
---|---|
1 |
createFormulaEvaluator() 数式セルを評価するオブジェクトであるXSSFFormulaEvaluatorインスタンスを作成します。 |
2 |
createHyperlink(int type) 新しいXSSFHyperlinkを作成します。 |
残りのメソッドについては、次のリンクを参照してください。https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFCreationHelperl
XSSFPrintSetup
これは org.apache.poi.xsssf.usermodel パッケージの下のクラスです。 PrintSetup インターフェースを実装します。 印刷ページのサイズ、領域、オプション、および設定を設定するために使用されます。
クラスメソッド
Sr.No. | Method & Description |
---|---|
1 |
setLandscape(boolean ls) 横向き印刷を許可またはブロックするブール値を設定します。 |
2 |
setLeftToRight(boolean ltor) 印刷中に左から右に移動するか、上から下に移動するかを設定します。 |
3 |
setPaperSize(short size) 用紙サイズを設定します。 |
残りのメソッドについては、次のリンクにアクセスしてください。https://poi.apache.org/apidocs/org/apache/poi/hssf/usermodel/HSSFPrintSetupl
Apache POI –ワークブック
ここで、「ワークブック」という用語はMicrosoft Excelファイルを意味します。 この章を完了すると、新しいワークブックを作成し、Javaプログラムで既存のワークブックを開くことができます。
空のワークブックを作成する
次の簡単なプログラムを使用して、空のMicrosoft Excelワークブックを作成します。
上記のJavaコードを CreateWorkBook.java として保存し、次のようにコマンドプロンプトからコンパイルして実行します。
システム環境がPOIライブラリで構成されている場合、現在のディレクトリに createworkbook.xlsx という名前の空のExcelファイルが生成され、コマンドプロンプトに次の出力が表示されます。
既存のワークブックを開く
次のコードを使用して、既存のブックを開きます。
上記のJavaコードを OpenWorkBook.java として保存し、次のようにコマンドプロンプトからコンパイルして実行します-
コンパイルして実行し、次の出力を生成します。
ブックを開いた後、そのブックに対して読み取りおよび書き込み操作を実行できます。
Apache POI –スプレッドシート
この章では、スプレッドシートを作成し、Javaを使用して操作する方法について説明します。 スプレッドシートはExcelファイルのページです。特定の名前の行と列が含まれています。
この章を完了すると、スプレッドシートを作成し、読み取り操作を実行できるようになります。
スプレッドシートを作成する
まず、前の章で説明した参照クラスを使用してスプレッドシートを作成しましょう。 前の章に従うことで、最初にワークブックを作成し、次にシートを作成できます。
次のコードスニペットを使用して、スプレッドシートを作成します。
スプレッドシートの行
スプレッドシートにはグリッドレイアウトがあります。 行と列は特定の名前で識別されます。 列はアルファベットで識別され、行は数字で識別されます。
次のコードスニペットを使用して行を作成します。
スプレッドシートに書き込む
従業員データの例を考えてみましょう。 ここでは、従業員データは表形式で提供されます。
Emp Id | Emp Name | Designation |
---|---|---|
Tp01 | Gopal | Technical Manager |
TP02 | Manisha | Proof Reader |
Tp03 | Masthan | Technical Writer |
Tp04 | Satish | Technical Writer |
Tp05 | Krishna | Technical Writer |
次のコードは、上記のデータをスプレッドシートに書き込むために使用されます。
上記のJavaコードを Writesheet.java として保存し、次のようにコマンドプロンプトからコンパイルして実行します-
現在のディレクトリに Writesheet.xlsx という名前のExcelファイルを生成するためにコンパイルおよび実行され、コマンドプロンプトに次の出力が表示されます。
スプレッドシートから読む
入力として上記の Writesheet.xslx というExcelファイルを考えてみましょう。 次のコードを確認してください。スプレッドシートからデータを読み取るために使用されます。
上記のコードを Readsheet.java ファイルに保存し、次のようにコマンドプロンプトからコンパイルして実行します。
システム環境がPOIライブラリで構成されている場合、コマンドプロンプトで次の出力を生成するためにコンパイルおよび実行されます。
Apache POI –セル
スプレッドシートに入力したデータは常にセルに保存されます。 行と列のラベルを使用してセルを識別します。 この章では、Javaプログラミングを使用してスプレッドシートのセル内のデータを操作する方法について説明します。
セルを作成する
セルを作成する前に行を作成する必要があります。 行はセルのコレクションにすぎません。
次のコードスニペットは、セルの作成に使用されます。
細胞の種類
セルタイプは、セルに文字列、数値、または数式を含めることができるかどうかを指定します。 文字列セルは数値を保持できず、数値セルは文字列を保持できません。 以下に、セルのタイプ、その値、およびタイプ構文を示します。
Type of cell value | Type Syntax |
---|---|
Blank cell value | XSSFCell.CELL_TYPE_BLANK |
Boolean cell value | XSSFCell.CELL.TYPE_BOOLEAN |
Error cell value | XSSFCell.CELL_TYPE_ERROR |
Numeric cell value | XSSFCell.CELL_TYPE_NUMERIC |
String cell value | XSSFCell.CELL_TYPE_STRING |
次のコードは、スプレッドシートにさまざまな種類のセルを作成するために使用されます。
上記のコードを TypesofCells.java という名前のファイルに保存し、次のようにコマンドプロンプトからコンパイルして実行します。
システムがPOIライブラリで構成されている場合、システムはコンパイルおよび実行され、 typesofcells.xlsx という名前のExcelファイルが現在のディレクトリに生成され、次の出力が表示されます。
セルスタイル
ここでは、セルの書式設定を行い、隣接セルの結合、境界線の追加、セルの配置の設定、色の塗りつぶしなど、さまざまなスタイルを適用する方法を学習できます。
次のコードは、Javaプログラミングを使用して異なるスタイルをセルに適用するために使用されます。
上記のコードを CellStyle.java という名前のファイルに保存し、次のようにコマンドプロンプトからコンパイルして実行します。
現在のディレクトリに cellstyle.xlsx という名前のExcelファイルが生成され、次の出力が表示されます。
cellstyle.xlsxファイルは次のようになります。
Apache POI –フォント
この章では、Excelスプレッドシートでさまざまなフォントを設定し、スタイルを適用し、さまざまな角度のテキストを表示する方法について説明します。
すべてのシステムには、Arial、Impact、Times New Romanなどの膨大なフォントのコレクションがバンドルされています。 必要に応じて、コレクションを新しいフォントで更新することもできます。 同様に、太字、斜体、下線、取り消し線など、フォントを表示できるさまざまなスタイルがあります。
フォントとフォントスタイル
次のコードは、特定のフォントとスタイルをセルのコンテンツに適用するために使用されます。
上記のコードを FontStyle.java という名前のファイルに保存しましょう。 次のようにコマンドプロンプトからコンパイルして実行します。
現在のディレクトリに fontstyle.xlsx という名前のExcelファイルが生成され、コマンドプロンプトに次の出力が表示されます。
テキストの方向
ここでは、さまざまな角度でテキストの方向を設定する方法を学ぶことができます。 通常、セルの内容は水平に、左から右に、00度の角度で表示されます。ただし、必要に応じて、次のコードを使用してテキストの方向を回転できます。
上記のコードを TextDirectin.java ファイルに保持し、次のようにコマンドプロンプトからコンパイルして実行します。
コンパイルおよび実行され、現在のディレクトリに textdirection.xlsx という名前のExcelファイルが生成され、コマンドプロンプトに次の出力が表示されます。
Apache POI –フォーミュラ
この章では、Javaプログラミングを使用してセルにさまざまな数式を適用するプロセスについて説明します。 Excelアプリケーションの基本的な目的は、数式を適用して数値データを維持することです。
数式では、Excelシートの動的な値または値の場所を渡します。 この式を実行すると、目的の結果が得られます。 次の表に、Excelで頻繁に使用されるいくつかの基本的な数式を示します。
Operation | Syntax |
---|---|
Adding multiple numbers | = SUM(Loc1:Locn) *or *= SUM(n1,n2,) |
Count | = COUNT(Loc1:Locn)* or *= COUNT(n1,n2,) |
Power of two numbers | = POWER(Loc1,Loc2)* or *= POWER(number, power) |
Max of multiple numbers | = MAX(Loc1:Locn)* or *= MAX(n1,n2,) |
Product | = PRODUCT(Loc1:Locn)* or *= PRODUCT(n1,n2,) |
Factorial | = FACT(Locn)* or *= FACT(number) |
Absolute number | = ABS(Locn)* or *= ABS(number) |
Today date | =TODAY() |
Converts lowercase | = LOWER(Locn)* or *= LOWER(text) |
Square root | = SQRT(locn)* or* = SQRT(number) |
次のコードは、セルに数式を追加して実行するために使用されます。
上記のコードを Formula.java として保存し、次のようにコマンドプロンプトからコンパイルして実行します。
現在のディレクトリに formula.xlsx という名前のExcelファイルが生成され、コマンドプロンプトに次の出力が表示されます。
Apache POI –ハイパーリンク
この章では、セル内のコンテンツにハイパーリンクを追加する方法について説明します。 通常、ハイパーリンクは、Web URL、電子メール、または外部ファイルにアクセスするために使用されます。
次のコードは、セルにハイパーリンクを作成する方法を示しています。
上記のコードを HyperlinkEX.java として保存します。 次のようにコマンドプロンプトからコンパイルして実行します。
現在のディレクトリに hyperlink.xlsx という名前のExcelファイルが生成され、コマンドプロンプトに次の出力が表示されます。
Apache POI –印刷エリア
この章では、スプレッドシートの印刷領域を設定する方法について説明します。 通常の印刷領域は、Excelスプレッドシートの左上から右下です。 印刷領域は、要件に応じてカスタマイズできます。 つまり、スプレッドシート全体から特定の範囲のセルを印刷したり、用紙サイズをカスタマイズしたり、グリッド線をオンにしてコンテンツを印刷したりすることができます。
次のコードは、スプレッドシートの印刷領域を設定するために使用されます。
上記のコードを PrintArea.java として保存しましょう。 次のようにコマンドプロンプトからコンパイルして実行します。
現在のディレクトリに printarea.xlsx という名前のファイルが生成され、コマンドプロンプトに次の出力が表示されます。
上記のコードでは、セル値を追加していません。 したがって、 printarea.xlsx は空のファイルです。 ただし、次の図では、印刷プレビューに印刷領域がグリッド線で表示されていることがわかります。
Apache POI-データベース
この章では、POIライブラリがデータベースと対話する方法について説明します。 JDBCの助けを借りて、データベースからデータを取得し、POIライブラリを使用してそのデータをスプレッドシートに挿入できます。 SQL操作用のMySQLデータベースを考えてみましょう。
データベースからExcelに書き込む
EMP ID | EMP NAME | DEG | SALARY | DEPT |
---|---|---|---|---|
1201 | Gopal | Technical Manager | 45000 | IT |
1202 | Manisha | Proof reader | 45000 | Testing |
1203 | Masthanvali | Technical Writer | 45000 | IT |
1204 | Kiran | Hr Admin | 40000 | HR |
1205 | Kranthi | Op Admin | 30000 | Admin |
次のコードを使用して、データベースからデータを取得し、スプレッドシートに挿入します。
上記のコードを ExcelDatabase.java として保存しましょう。 次のようにコマンドプロンプトからコンパイルして実行します。
現在のディレクトリに exceldatabase.xlsx という名前のExcelファイルが生成され、コマンドプロンプトに次の出力が表示されます。