[JAVA]Excel 文檔操作

來源:互聯網
上載者:User
  只要有表格,就會有Microsoft Excel,用Microsoft Excel處理資料已成為不少人的習慣。Jakarta POI API就為Java程式員提供了一條存取Microsoft文檔格式的神奇之路,其中最成熟的就是能存取Microsoft Excel文檔的HSSF API。

  本篇文章就舉例示範如何利用Java 建立和讀取Excel文檔,並設定儲存格的字型和格式。

  為了保證樣本程式的運行,必須安裝Java 2 sdk1.4.0 和Jakarta POI,Jakarta POI的Web網站是: http://jakarta.apache.org/poi/

  建立Excel 文檔

  樣本1將示範如何利用Jakarta POI API 建立Excel 文檔。

  樣本1程式如下:

import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFCell;
import java.io.FileOutputStream;
public class CreateXL {

 /** Excel 檔案要存放的位置,假定在D盤JTest目錄下*/

 public static String outputFile="D:/JTest/ gongye.xls";

 public static void main(String argv[]){

 try{

  // 建立新的Excel 活頁簿

  HSSFWorkbook workbook = new HSSFWorkbook();

  // 在Excel活頁簿中建一工作表,其名為預設值
      // 如要建立一名為"效益指標"的工作表,其語句為:
      // HSSFSheet sheet = workbook.createSheet("效益指標");

  HSSFSheet sheet = workbook.createSheet();

  // 在索引0的位置建立行(最頂端的行)

  HSSFRow row = sheet.createRow((short)0);

  //在索引0的位置建立儲存格(左上端)
  HSSFCell cell = row.createCell((short) 0);
  // 定義儲存格為字串類型
  cell.setCellType(HSSFCell.CELL_TYPE_STRING);
  // 在儲存格中輸入一些內容
  cell.setCellValue("增加值");
  // 建立一輸出檔案流
  FileOutputStream fOut = new FileOutputStream(outputFile);
  // 把相應的Excel 活頁簿存檔
  workbook.write(fOut);
  fOut.flush();
  // 操作結束,關閉檔案
  fOut.close();
  System.out.println("檔案產生...");

 }catch(Exception e) {
  System.out.println("已運行 xlCreate() : " + e );
 }
}
}

  讀取Excel文檔中的資料

  樣本2將示範如何讀取Excel文檔中的資料。假定在D盤JTest目錄下有一個檔案名稱為gongye.xls的Excel檔案。

  樣本2程式如下:

import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFCell;
import java.io.FileInputStream;
public class ReadXL {
 /** Excel檔案的存放位置。注意是正斜線*/
 public static String fileToBeRead="D:/JTest/ gongye.xls";
 public static void main(String argv[]){
 try{
  // 建立對Excel活頁簿檔案的引用
  HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(fileToBeRead));
  // 建立對工作表的引用。
  // 本例是按名引用(讓我們假定那張表有著預設名"Sheet1")
  HSSFSheet sheet = workbook.getSheet("Sheet1");
  // 也可用getSheetAt(int index)按索引引用,
  // 在Excel文檔中,第一張工作表的預設索引是0,
  // 其語句為:HSSFSheet sheet = workbook.getSheetAt(0);
  // 讀取左上端單元
  HSSFRow row = sheet.getRow(0);
  HSSFCell cell = row.getCell((short)0);
  // 輸出單元內容,cell.getStringCellValue()就是取所在單元的值
  System.out.println("左上端單元是: " + cell.getStringCellValue());
 }catch(Exception e) {
  System.out.println("已運行xlRead() : " + e );
 }
}
}

  設定儲存格格式

  在這裡,我們將只介紹一些和格式設定有關的語句,我們假定workbook就是對一個活頁簿的引用。在Java中,第一步要做的就是建立和設定字型和儲存格的格式,然後再應用這些格式:

  1、建立字型,設定其為紅色、粗體:

HSSFFont font = workbook.createFont();
font.setColor(HSSFFont.COLOR_RED);
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);

  2、建立格式

HSSFCellStyle cellStyle= workbook.createCellStyle();
cellStyle.setFont(font);

  3、應用格式

HSSFCell cell = row.createCell((short) 0);
cell.setCellStyle(cellStyle);
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setCellValue("標題 ");

  總之,如本篇文章所示範的一樣,Java程式員不必擔心Excel工作表中的資料了,利用Jakarta POI API,我們就可以輕易的在程式中存取Excel文檔。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.