1. 程式人生 > >Java jxl 操作Excel資料(檔案型別為xls)

Java jxl 操作Excel資料(檔案型別為xls)

Maven檔案如下:

<dependency>
			<groupId>net.sourceforge.jexcelapi</groupId>
			<artifactId>jxl</artifactId>
			<version>2.6.10</version>
</dependency>

Demo程式碼如下

package Java_Excel;

import jxl.*;
import jxl.read.biff.BiffException;

import java.io.*;

import jxl.write.*;
import jxl.write.biff.RowsExceededException;

public class DemoRun {
	public static void main(String[] args) throws RowsExceededException, WriteException, IOException, BiffException {
		// 開啟檔案
		Workbook book = Workbook.getWorkbook(new File("C:\\Users\\kakasan\\Desktop\\公司list\\demo.xls"));
		// book = Workbook.getWorkbook(new File("demo.xlsx"));

		// 獲得第一個工作表物件
		// Sheet sheet = book.getSheet("總表Industry");
		Sheet sheet = book.getSheet(0);

		// System.out.print(getData(sheet, 5, 6));
		// 6是segment
		// 迴圈讀取資料,一行一行讀資料
		for (int i = 3 + 1; i <= 52 + 1; i++) {// 行
			if (getData(sheet, i, 6).equals("CMS / Tools")) {
				System.out.println(getRecord(sheet, i));
			}
		}
	}

	/**
	 * 獲取單元格資料
	 * 
	 * @param sheet
	 * @param rowNum
	 * @param colNum
	 * @return
	 */
	public static String getData(Sheet sheet, int rowNum, int colNum) {
		return sheet.getCell(colNum, rowNum).getContents();

	}

	/**
	 * 獲取一行的資料
	 * 
	 * @param sheet
	 * @param rowNum
	 * @return
	 */
	public static String getRecord(Sheet sheet, int rowNum) {

		// 迴圈讀取資料,一行一行讀資料

		String temp = "";
		// if (getData(sheet, rowNum, 6).equals("CMS / Tools")) {
		for (int j = 0; j < sheet.getColumns(); j++) {
			temp = temp + getData(sheet, rowNum, j) + "("+j+")、";
		}
		// }
		return temp;

	}
}