ホームページ >Java >&#&チュートリアル >JavaはExcelを読み込みます
Excelテーブルを読み取るにはPoi技術が一般的に使用されますが、この技術は何ですか?
Apache POI は、プログラマーが Java プログラムを使用して MS Office ファイルを作成、変更、表示できるようにする人気の API です。 Apache Software Foundation によって開発されたこのオープン ソース ライブラリは、Java を使用して Microsoft Office ファイルの設計や変更を配布します。これには、ユーザー入力データまたはファイルを MS Office ドキュメントにデコードするためのクラスとメソッドが含まれています。
Apache POI は、Apache Software Foundation によって提供される 100% オープンソース ライブラリです。ほとんどの中小規模のアプリケーション開発は、主に Apache POI (HSSF + XSSF) に依存しています。 Excel ライブラリのすべての基本機能をサポートしていますが、レンダリングとテキスト抽出がその主な機能です。
これは、Excel ワークブックを作成または維持するすべてのクラスのスーパー インターフェイスです。これは org.apache.poi.ss.usermodel パッケージに属します。このインターフェイスを実装するクラスは次の 2 つです:
HSSFWorkbook: このクラスには、.xls 形式の Microsoft Excel ファイルを読み書きするためのメソッドがあります。 Microsoft Office97-2003バージョンと互換性があります。
XSSFWorkbook : このクラスには、.xls または .xlsx 形式の Microsoft Excel および OpenOffice XML ファイルを読み書きするためのメソッドがあります。 MS-Office バージョン 2007 以降と互換性があります。
これは、org.apache.poi.hssf.usermodel パッケージの高レベルのクラスです。 Excel ファイルの .xls 形式の Workbook インターフェイスを実装します。このクラスのいくつかのメソッドとコンストラクターを以下に示します。
S.No. | コンストラクターと説明 |
---|---|
1 |
HSSFWorkbook() 新しいHSSFWorkbookオブジェクトを最初から作成する場合。 |
2 |
HSSFWorkbook(DirectoryNode directory, boolean prepareNodes) 特定のディレクトリに新しい HSSFWworkbook オブジェクトを作成します。 |
3 |
HSSFWorkbook(DirectoryNode directory, POIFSFileSystem fs, boolean prepareNodes) POIFSFileSystem オブジェクトと特定のディレクトリを指定すると、指定されたワークブックを読み取るための SSFWorkbook オブジェクトを作成します。 |
4 |
HSSFWorkbook(java.io.InputStream s) 入力ストリームを使用して新しい HSSFWorkbook オブジェクトを作成する場合。 |
5 |
HSSFWorkbook(java.io.InputStream s, boolean prepareNodes) 入力ストリーム上にPOIファイルシステムを構築します。 |
6 |
HSSFWorkbook(POIFSFileSystem fs) POIFSFileSystem オブジェクトから構築された新しい HSSFWorkbook オブジェクトを使用する場合。 |
7 |
HSSFWorkbook(POIFSFileSystem fs, boolean prepareNodes) POIFSFileSystem オブジェクトを指定すると、指定されたワークブックの読み取り中に新しい HSSFWorkbook オブジェクトを作成します。 |
これらの構造内の共通パラメータ:
directory : これは、POI ファイルシステムから処理されるディレクトリです。
fs: ブックストリームのPOIを含むファイルシステムです。
preservenodes : これは、マクロなどの他のノードを保持するかどうかを決定するオプションのパラメーターです。すべてのPOIFileSystemをメモリに保存するため(設定されている場合)、大量のメモリを消費します。
注: HSSFWorkbook クラスには多くのメソッドが含まれていますが、これらは XLS 形式とのみ互換性があります。このチュートリアルでは、最新バージョンの Excel ファイル形式に焦点を当てます。したがって、HSSFWorkbook クラスのメソッドはここにはリストされていません。これらのクラスのメソッドが必要な場合は、https://poi.apache.org/apidocs/org/apache/poi/hssf/usermodel/HSSFWorkbook.html にある POI-HSSFWorkbook クラス API を参照してください。
高レベルおよび低レベルの Excel ファイル形式を表すクラスが使用されます。これは org.apache.xssf.usemodel パッケージに属し、Workbook インターフェイスを実装します。このクラスのメソッドとコンストラクターを以下に示します。 クラスのコンストラクター1 | |||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
XSSFWorkbook() |
新しいXSSFworkbookオブジェクトを最初から作成します。 | 2||||||||||||||||||||||||||||
XSSFWorkbook(java.io.File file) |
指定されたファイルから XSSFWorkbook オブジェクトを構築します。 | 3||||||||||||||||||||||||||||
4 |
|||||||||||||||||||||||||||||
指定されたファイルのフルパスを使用して XSSFWorkbook オブジェクトを構築します。 |
SheetSheet は org.apache.poi.ss.usermodel パッケージ内のインターフェースであり、特定の名前を持つ高レベルまたは低レベルのスプレッドシートを作成するすべてのクラスのスーパー インターフェースです。最も一般的なタイプのスプレッドシートはワークシートで、セルのグリッドとして表されます。 HSSFSheetこれは org.apache.poi.hssf.usermodel パッケージ内のクラスです。 Excel スプレッドシートを作成でき、シート モードとテーブル データ形式が可能です。 クラスのコンストラクター
XSSFSheetこれは、Excel スプレッドシートの高レベル表現を表すカテゴリです。これは org.apache.poi.hssf.usermodel パッケージの下にあります。 クラスのコンストラクター
これは org.apache.poi.xssf.usermodel パッケージ内のクラスです。 Row インターフェイスを実装しているので、スプレッドシートに行を作成できます。このクラスのメソッドとコンストラクターを以下に示します。クラスメソッド S.No.Description
XSSFCellこれは org.apache.poi.xssf.usermodel パッケージ内のクラスです。セルインターフェースを実装します。これは、スプレッドシート内のセルの行を高レベルで表現したものです。 今、Javaを使用してExcelテーブルの読み取りを実装していますコードの実装 public static void excel() throws Exception { //用流的方式先读取到你想要的excel的文件 FileInputStream fis=new FileInputStream(new File(System.getProperty("user.dir")+"/src/excel.xls")); //解析excel POIFSFileSystem pSystem=new POIFSFileSystem(fis); //获取整个excel HSSFWorkbook hb=new HSSFWorkbook(pSystem); System.out.println(hb.getNumCellStyles()); //获取第一个表单sheet HSSFSheet sheet=hb.getSheetAt(0); //获取第一行 int firstrow= sheet.getFirstRowNum(); //获取最后一行 int lastrow= sheet.getLastRowNum(); //循环行数依次获取列数 for (int i = firstrow; i list=new ArrayList(); for (int j = firstcell; j <lastcell>0) { user.setUsername(list.get(1)); user.setPassword(list.get(2)); } BaseDAO dao=new BaseDAO(); dao.save(user); System.out.println(); } } fis.close(); }</lastcell> |
以上がJavaはExcelを読み込みますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。