[ジャワ] ジャンキーXLを使用してJavaでExcelファイルを読む – ジャンキーXLとJavaでの書き込みExcelファイルを読む

仕事とデータ処理の過程で、私たちはしばしば、ファイル、特にExcelファイルと対話する必要が. 今日、私はあなたにJXLで記録されたExcelファイルを読み込むための簡単​​な手順を紹介します. JXLはライブラリパッケージは、私たちがリードとしてExcelを呼ば対話することができている, 記録,.., あなたはジャンキーXLを見るパッケージについての詳細情報 ここに.

すべてのあなたの第一に ジャンキーXLをダウンロード (または ここに), * .jarファイルを解凍して、単にプロジェクトにコピーする, 右選択]をクリックし ビルドパス / ビルドパスに追加 このライブラリを使用できるようにする. 今、私たちは学ぶことを向ける:
JXLを持つExcelファイルを作成し、作成する方法
JXLのExcelファイルを読み取る方法
開いて、Excelファイルに書き込む方法JXLに持っていた
コー​​ドイラスト

作成し、JXLでExcelファイルを作成する

ステップ 1: オブジェクトを作成します。 WritableWorkbook “ポイント” ファイルに. あなたのファイルがすでに存在する場合、それは削除して再作成されることに注意してください.

WritableWorkbook workbook = Workbook.createWorkbook(new File(fileName));

ステップ 2: 作る WritableSheet – あなたはデータシートを記述する必要があり:

WritableSheet sheet = workbook.createSheet("name sheet", 0);

注意: 関数内てcreateSheetできる 2 引数, 最初の引数は、シートの文字列名です, 第二引数 2 シートの位置を表す整数である。, シート位置で始まる 0.

ステップ 3: 次に、方法によって細胞にデータフォーマットを追加する addCell. セルにデータを書き込む, 我々は、必要があります 3 メインフォーム: チェーン, それぞれのラベルで生成された数と式, 数, フォーミュラ. 例:

sheet.addCell(new Label(0, 0, "Add a String to cell")); // add a String to cell A1
sheet.addCell(new Number(0, 1, 100)); // add number 100 to cell A2
sheet.addCell(new Formula(0, 3, "IF(A1=1,"one", "two")")); // add number 100 to cell A3

ステップ 4: 我々はこれをやった後で 3, 我々は、コマンドを実行する必要が 書くクローズ データ記録を完了するために

workbook.write();
workbook.close();

JXLを持つExcelファイルを読む

ステップ 1: 作る ワークブック “ポイント” ファイルに.

Workbook workbook = Workbook.getWorkbook(new File(fileName));

ステップ 2: 撮影 シート あなたが読みたい. あなたは場所や名前シートシートを得ることができます

Sheet sheet = workbook.getSheet(0);

ステップ 3: スプレッドシートの各セルの内容を読む. あなたは次の操作を行うことができますボックスの内容を取得したい場合: sheet.getCell(ととも​​に, 行).のgetContents(). しかし、あなたが読みたい場合は、ワークシートのセル全体は、最後の行とすることで、データを含む列を取る sheet.getRows()sheet.getColumns(), 各セルを読み取るためにループに使用. 読んだ後, 我々はまた、必要 近いワークブック データを書き込む場合

for (int row = 0; row < rows; row++) {
	for (int col = 0; col < cols; col++) {
		Cell cell = sheet.getCell(col, row);
		System.out.print(cell.getContents() + "t");
	}
	System.out.println("n");
}
workbook.close();

開いて、ジャンキーXLを使用してExcelにデータを置く

開いて、Excelファイルにデータを配置するには, まず、取得する必要があります ワークブック Excelファイルからより多くの私たちが読んだときのように記述する必要があります. 次に作成 WritableWorkbook ワークブックが取られており、我々はこのWritableWorkbook正常に動作しますへ.

Workbook workbook = Workbook.getWorkbook(new File(fileName));
WritableWorkbook writeWorkbook = Workbook.createWorkbook(new File(fileName), workbook);

デモコード

read wirte Excel file in java

package vietSource.net.IOFile;

import java.io.File;
import java.io.IOException;
import java.util.Scanner;

import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
import jxl.write.Formula;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
import jxl.write.biff.RowsExceededException;

/**
 * ----------------- @author nguyenvanquan7826 -----------------
 * ---------------nguyenvanquan7826.wordpress.com --------------
 */
public class ReadWriteExcel {

	private final String fileName = "/home/nguyenvanquan7826/Desktop/nguyenvanquan7826.xls";

	// data to write file
	private Object[][] data = { { "STT", "Họ và tên", "Điểm", "Xếp loại" },
			{ "1", "Nguyễn Văn Quân", "9.0", "" },
			{ "2", "Phạm Thị Hà", "8.0", "" },
			{ "3", "Nguyễn Bá Cường", "8.5", "" },
			{ "4", "Vũ Công Tịnh", "9.0", "" },
			{ "5", "Phạm Trọng Khang", "8", "" },
			{ "6", "Mai Văn Tài", "8", "" } };

	// create and write new file *.xls
	private void writeFileExcel() {
		WritableWorkbook workbook;
		// create workbook
		try {
			workbook = Workbook.createWorkbook(new File(fileName));

			// create sheet
			WritableSheet sheet1 = workbook.createSheet("KTPM K10B", 0);

			// create Label and add to sheet
			sheet1.addCell(new Label(0, 0, "DANH SÁCH SINH VIÊN TIÊU BIỂU"));

			// row begin write data
			int rowBegin = 2;
			int colBegin = 0;

			for (int row = rowBegin, i = 0; row < data.length + rowBegin; row++, i++) {
				for (int col = colBegin, j = 0; col < data[0].length + colBegin; col++, j++) {
					Object obj = data[i][j];
					sheet1.addCell(new Label(col, row, (String) data[i][j]));
				}
			}
			// write file
			workbook.write();

			// close
			workbook.close();
		} catch (IOException e) {
			System.out.println("Error create file\n" + e.toString());
		} catch (RowsExceededException e) {
			System.out.println("Error write file\n" + e.toString());
		} catch (WriteException e) {
			System.out.println("Error write file\n" + e.toString());
		}
		System.out.println("create and write success");
	}

	// open and read file *.xls
	private void readFileExcel() {
		Workbook workbook;
		try {
			// create workbook to open file
			workbook = Workbook.getWorkbook(new File(fileName));
			// get sheet want read
			Sheet sheet = workbook.getSheet(0);
			// get number row and col contain data
			int rows = sheet.getRows();
			int cols = sheet.getColumns();

			System.out.println("Data in file:");
			// read data in each cell
			for (int row = 0; row < rows; row++) {
				for (int col = 0; col < cols; col++) {
					Cell cell = sheet.getCell(col, row);
					System.out.print(cell.getContents() + "\t");
				}
				System.out.println("\n");
			}
			// close
			workbook.close();
		} catch (BiffException e) {
			System.out.println("File not found\n" + e.toString());
		} catch (IOException e) {
			System.out.println("File not found\n" + e.toString());
		}
	}

	// open and write file is exists
	private void openAndWriteFileExcel() {
		Workbook workbook;
		WritableWorkbook writeWorkbook;
		try {
			// open file
			workbook = Workbook.getWorkbook(new File(fileName));
			// create file copy of root file to write file
			writeWorkbook = Workbook.createWorkbook(new File(fileName),
					workbook);

			// get sheet to write
			WritableSheet sheet1 = writeWorkbook.getSheet(0);
			int col = 3;
			int rowBegin = 3;
			// write data (formula)
			for (int row = rowBegin; row < data.length + rowBegin - 1; row++) {
				Formula f = new Formula(col, row, "IF(C" + (row + 1)
						+ ">8, \"Xuất sắc\", \"Giỏi\")");
				sheet1.addCell(f);
			}
			writeWorkbook.write();

			// close
			writeWorkbook.close();
		} catch (IOException e) {
			System.out.println("File not found\n" + e.toString());
		} catch (RowsExceededException e) {
			System.out.println("File not found\n" + e.toString());
		} catch (WriteException e) {
			System.out.println("File not found\n" + e.toString());
		} catch (BiffException e) {
			System.out.println("File not found\n" + e.toString());
		}
		System.out.println("open and write success");
	}

	private void showMenu() {
		System.out.println();
		System.out.println("Select an integer for process:");
		System.out.println("1 - Create new file and wrire data");
		System.out.println("2 - Read file exits");
		System.out.println("3 - Open and write to file exits");
	}

	public static void main(String[] args) {
		ReadWriteExcel rwExcel = new ReadWriteExcel();
		while (true) {
			rwExcel.showMenu();
			Scanner scan = new Scanner(System.in);
			int select = Integer.parseInt(scan.nextLine());
			switch (select) {
			case 1:
				rwExcel.writeFileExcel();
				break;
			case 2:
				rwExcel.readFileExcel();
				break;
			case 3:
				rwExcel.openAndWriteFileExcel();
				break;
			default:
				scan.close();
				break;
			}
		}
	}
}

続きを読む (続きを読む): JavaのExcelのAPIチュートリアル