Java jxl 操作Excel資料(檔案型別為xls)
阿新 • • 發佈:2019-01-02
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; } }