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 サイトの他の関連記事を参照してください。