ライブ環境でテストする
ウォーターマークなしで本番環境でテストしてください。
必要な場所でいつでも動作します。
Microsoft Excel Workbookは、ユーザーがデータを効率的に整理し、保存することができるスプレッドシートベースのソフトウェアです。 それはデータを表形式で保存および整理します。つまり、行と列を使用します。 エクセルのスプレッドシート内のセルはデータを保持するボックスであり、さまざまなスタイル、書式設定、および数式で操作できます。
Excelファイルを読み取ることは、時には複雑になることがあります。 JavaでのExcelファイルの読み込みは、Excelのセルの特性により、JavaでのWordファイルの読み込みとは少し異なります。 JDKは、Microsoft Excelドキュメントを読み書きするための直接的なAPIを提供していません。 代わりに、サードパーティライブラリであるApache POIに依存する必要があります。
POIは「Poor Obfuscation Implementation(不完全な難読化の実装)」の略です。Apache POIは、Microsoftドキュメントの読み書きのために設計されたオープンソースのJavaライブラリです。 これは、Microsoft Office に基づいたさまざまなファイル形式を作成および操作する方法を提供します。Apache POI を使用して、Microsoft Office のさまざまなファイル形式に対して作成、変更、および表示/読み取りの操作を行うことができるはずです。
まず、最新バージョンのPOI JARファイルをダウンロードします。 ナビゲートして http://poi.apache.org/download.html 最新のZIPファイルをダウンロードしてください。これには、JavaでExcelファイルを読み取るためのJava APIが含まれています。
ZIPファイルをダウンロードしたら、それを解凍して以下のJARファイルをプロジェクトのクラスパスに追加する必要があります。 以下のExcelファイルからの読み取りで説明されています。
注: 他のファイルと一緒にlibおよびooxml-libからのファイルもコピーしてください。
以下は、使用可能なXLSおよびXLSXファイル形式のサポートクラスです:
以下は、Javaで XLS および XLSX ファイルを読み取るための POI に含まれる異なる Java インターフェースおよびクラスの一覧です:
Workbookインタフェースは、HSSFWorkbook
クラスおよびXSSFWorkbook
クラスによって実装されています。
XSSFWorkbook: これは、XLSXファイルのクラス表現です。
シートインターフェースは、HSSFSheet
および XSSFSheet
クラスによって実装されます。
XSSFSheet:これは、XLSXファイル内のシートを表すクラスです。
Rowインターフェースは、HSSFRow
クラスとXSSFRow
クラスによって実装されています。
XSSFRow:これは、XLSXファイルのシート内の行を表すクラスです。
Cellインターフェースは、HSSFCell
クラスおよびXSSFCell
クラスによって実装されています。
以下のExcelファイルをJavaで読み取る例を紹介します:
任意のJava IDEを使用してJavaプロジェクトを作成します。このプロジェクトではNetbeansを使用します。
次に、プロジェクト内にlibフォルダを作成します。
次に、前のステップで作成したlibフォルダにダウンロードしたJARファイルを追加します。
プロジェクトフォルダーを右クリック > ビルドパス > 外部JARファイルを追加 > 上記のJARファイル全てを選択 > 適用して閉じる ことで Class-Path
を設定します。
では、ReadExcelFileDemo という名前のクラスファイルを作成しましょう。
「studentdata.xls」という名前のExcelファイルを作成し、そのデータまたは任意のデータを書き込みます。
以下は、JavaでExcelファイルを読み取るためのコードサンプルです:
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.FormulaEvaluator;
import org.apache.poi.ss.usermodel.Row;
public class ReadExcelFileDemo {
public static void main(String args []) throws IOException {
//obtaining input bytes from a file
FileInputStream fis=new FileInputStream(new File("C:\\demo\\studentdata.xls"));
//creating workbook instance that refers to .xls file
HSSFWorkbook wb=new HSSFWorkbook(fis);
//creating a Sheet object to retrieve the object
HSSFSheet sheet=wb.getSheetAt(0);
//evaluating cell type
FormulaEvaluator formulaEvaluator=wb.getCreationHelper().createFormulaEvaluator();
for(Row row: sheet) {
for(Cell cell: row) {
switch(formulaEvaluator.evaluateInCell(cell).getCellType()) {
case Cell.CELL_TYPE_NUMERIC: //field that represents numeric cell type
//getting the value of the cell as a number
System.out.print(cell.getNumericCellValue()+ "\t\t");
break;
case Cell.CELL_TYPE_STRING: //field that represents string cell type
//getting the value of the cell as a string
System.out.print(cell.getStringCellValue()+ "\t\t");
break;
}
}
System.out.println();
}
}
}
出力:
IdNames
1Zeeshan
2Shoaib
3Umar
4Rizwan
5Ahsan
手順はxlsxファイルを読み込む場合と同じですが、以下の2つの主な点が異なります:
import java.io.File;
import java.io.FileInputStream;
import java.util.Iterator;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class XLSXReaderExample {
public static void main(String [] args) {
try {
File file = new File("C:\\demo\\studentdata.xlsx");
FileInputStream fis = new FileInputStream(file);
//creating Workbook instance that refers to .xlsx file
XSSFWorkbook wb = new XSSFWorkbook(fis);
XSSFSheet sheet = wb.getSheetAt(0);
Iterator<Row> itr = sheet.iterator();
while (itr.hasNext()) {
Row row = itr.next();
Iterator<Cell> cellIterator = row.cellIterator(); //iterating over each column
while (cellIterator.hasNext()) {
Cell cell = cellIterator.next();
switch (cell.getCellType()) {
case Cell.CELL_TYPE_NUMERIC: //field that represents numeric cell type
//getting the value of the cell as a number
System.out.print(cell.getNumericCellValue() + "\t\t");
break;
case Cell.CELL_TYPE_STRING: //field that represents string cell type
//getting the value of the cell as a string
System.out.print(cell.getStringCellValue() + "\t\t");
break;
}
}
System.out.println("");
}
} catch(Exception e) {
e.printStackTrace();
}
}
}
出力:
IdNames
1Zeeshan
2Shoaib
3Umar
4Rizwan
5Ahsan
IronXLは、C#を使用してMicrosoft Excelドキュメントの読み取りおよび編集を可能にする単独動作の.NETライブラリです。 これは、Microsoft Excelをインストールする必要がなく、またInteropに依存しません。
IronXLを使用すると、開発者は数行のコードを書くだけで、すべてのExcel関連の計算を迅速かつ簡単に実行できます。 これは、2つのセルを追加する、列の合計を計算する、Excelテーブルに全列を追加する、Excelテーブルに全行を追加する、単一行および複数行の列の合計などのタスクや、IronXLにより簡単に処理できる多くの他のタスクのためのものです。役立つ機能.
IronXLは、.NET Framework、.NET Core、Mobile、Xamarin、Azure Linux、およびMacOSを完全にサポートしています。
System.Data
オブジェクト — System.Data.DataSet
および System.Data.DataTable
オブジェクトとしてExcelスプレッドシートを操作します。スタイリング — ビジュアルスタイル、フォントとフォントサイズ、背景パターン、境界線、配置、数値フォーマット。
以下は、IronXLを使用してC#でExcelファイルを読み込むコード例です:
using IronXL;
using System.Linq;
//Supported spreadsheet formats for reading include: XLSX, XLS, CSV and TSV
WorkBook workbook = WorkBook.Load("test.xlsx");
WorkSheet sheet = workbook.WorkSheets.First();
//Select cells easily in Excel notation and return the calculated value
int cellValue = sheet ["A2"].IntValue;
// Read from Ranges of cells elegantly.
foreach (var cell in sheet ["A2:A10"]) {
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
using IronXL;
using System.Linq;
//Supported spreadsheet formats for reading include: XLSX, XLS, CSV and TSV
WorkBook workbook = WorkBook.Load("test.xlsx");
WorkSheet sheet = workbook.WorkSheets.First();
//Select cells easily in Excel notation and return the calculated value
int cellValue = sheet ["A2"].IntValue;
// Read from Ranges of cells elegantly.
foreach (var cell in sheet ["A2:A10"]) {
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
Imports IronXL
Imports System.Linq
'Supported spreadsheet formats for reading include: XLSX, XLS, CSV and TSV
Private workbook As WorkBook = WorkBook.Load("test.xlsx")
Private sheet As WorkSheet = workbook.WorkSheets.First()
'Select cells easily in Excel notation and return the calculated value
Private cellValue As Integer = sheet ("A2").IntValue
' Read from Ranges of cells elegantly.
For Each cell In sheet ("A2:A10")
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text)
Next cell
IronXLを使用すると、開発者の仕事がとても楽になります。 そのシンプルで使いやすいコードにより、Excelファイルを扱う際にバグが発生しにくくなります。
IronXLをダウンロード実際のプロジェクトで今日からご利用いただけます。
9つの .NET API製品 オフィス文書用