1. 程式人生 > >POI 對excel表格基本操作Demo

POI 對excel表格基本操作Demo

今天熟悉了一下POI對excel的一些基本操作與大家分享一下

import java.io.FileOutputStream;
import java.io.IOException;

import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.util.HSSFColor;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;

public class PoiTest {

	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
		//建立一個空白的workbook
		HSSFWorkbook  workBook = new HSSFWorkbook();
		FileOutputStream fos = new FileOutputStream("f:/test.xls");
		//建立sheet頁 
		HSSFSheet sheet1 = workBook.createSheet("工作表1");
		HSSFSheet sheet2 = workBook.createSheet("工作表12");
		////////////////////////////////////////////
        //建立物件給第二行第一個單元格賦值
      	Row row2 = sheet2.createRow(1);
      	row2.setHeight((short) 100);
        Cell cell2 = row2.createCell(0);
        cell2.setCellValue("sheet2賦值成功");
        System.out.println(cell2.getCellType());
		///////////////////////////////////////////
		//建立物件給第二行第一個單元格賦值
		Row row = sheet1.createRow(1);
        Cell cell = row.createCell(0);
        cell.setCellValue("sheet1中賦值成功");
        //設定行高
        row.setHeight((short) 1000);
        //設定列寬  第一個引數第幾列(從0開始)   第二個引數寬度  
        sheet1.setColumnWidth((short) 0, (short) 5000);
        //設定樣式
        HSSFCellStyle cellStyle = workBook.createCellStyle();
        // 文字居中
        cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
        // 設定單元格的文字方式為可多行編寫方式  
        cellStyle.setWrapText(true);  
        // 1.如果需要前景顏色或背景顏色,一定要指定填充方式,兩者順序無所謂;  
        // 2.如果同時存在前景顏色和背景顏色,前景顏色的設定要寫在前面;  
        // 3.前景顏色不是字型顏色。
        //指定填充模式
        cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);  
        cellStyle.setFillForegroundColor(HSSFColor.RED.index);  
        cellStyle.setFillBackgroundColor(HSSFColor.LIGHT_YELLOW.index);
        // 建立一個字型物件,因為字型也是單元格格式的一部分,所以從屬於HSSFCellStyle  
        // 下面幾個字型的相關設定望文生義,就不用一一說明了吧  
        HSSFFont font = workBook.createFont();  
        font.setFontName("宋體");  
        font.setItalic(true);  
        font.setColor(HSSFColor.BLUE.index);  
        font.setFontHeightInPoints((short) 20);  
        font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);  
        // 將字型物件賦值給單元格樣式物件  
        cellStyle.setFont(font);  
        
        //將樣式設定到cell中
        cell.setCellStyle(cellStyle);
        
      
		workBook.write(fos);
		fos.close();
	}

}

希望對大家有幫助!