POI測試類

package cn.itcast.test;

import java.io.FileInputStream;
import java.io.FileOutputStream;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFRow;
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;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.junit.Test;

public class TestPOI2Excel {

	@Test
	public void testWrite03Excel() throws Exception {
		//1、創建工作簿
		HSSFWorkbook workbook = new HSSFWorkbook();
		//2、創建工作表
		HSSFSheet sheet = workbook.createSheet("hello world");//指定工作表名
		//3、創建行;創建第3行
		HSSFRow row = sheet.createRow(2);
		//4、創建單元格;創建第3行第3列
		HSSFCell cell = row.createCell(2);
		cell.setCellValue("Hello World");
		
		//輸出到硬盤
		FileOutputStream outputStream = new FileOutputStream("c:\\itcast\\ceshi\\測試.xls");
		//把excel輸出到具體的地址
		workbook.write(outputStream);
		workbook.close();
		outputStream.close();
	}
	
	@Test
	public void testWrite07Excel() throws Exception {
		//1、創建工作簿
		XSSFWorkbook workbook = new XSSFWorkbook();
		//2、創建工作表
		XSSFSheet sheet = workbook.createSheet("hello world");//指定工作表名
		//3、創建行;創建第3行
		XSSFRow row = sheet.createRow(2);
		//4、創建單元格;創建第3行第3列
		XSSFCell cell = row.createCell(2);
		cell.setCellValue("Hello World");
		
		//輸出到硬盤
		FileOutputStream outputStream = new FileOutputStream("c:\\itcast\\ceshi\\測試.xlsx");
		//把excel輸出到具體的地址
		workbook.write(outputStream);
		workbook.close();
		outputStream.close();
	}

	@Test
	public void testRead03Excel() throws Exception {
		FileInputStream inputStream = new FileInputStream("c:\\itcast\\ceshi\\測試.xls");
		//1、讀取工作簿
		HSSFWorkbook workbook = new HSSFWorkbook(inputStream);
		//2、讀取第一個工作表
		HSSFSheet sheet = workbook.getSheetAt(0);
		//3、讀取行;讀取第3行
		HSSFRow row = sheet.getRow(2);
		//4、讀取單元格;讀取第3行第3列
		HSSFCell cell = row.getCell(2);
		System.out.println("第3行第3列單元格的內容爲:" + cell.getStringCellValue());
		
		workbook.close();
		inputStream.close();
	}
	
	@Test
	public void testRead07Excel() throws Exception {
		FileInputStream inputStream = new FileInputStream("c:\\itcast\\ceshi\\測試.xlsx");
		//1、讀取工作簿
		XSSFWorkbook workbook = new XSSFWorkbook(inputStream);
		//2、讀取第一個工作表
		XSSFSheet sheet = workbook.getSheetAt(0);
		//3、讀取行;讀取第3行
		XSSFRow row = sheet.getRow(2);
		//4、讀取單元格;讀取第3行第3列
		XSSFCell cell = row.getCell(2);
		System.out.println("第3行第3列單元格的內容爲:" + cell.getStringCellValue());
		
		workbook.close();
		inputStream.close();
	}
	
	@Test
	public void testRead03And07Excel() throws Exception {
		String fileName = "c:\\itcast\\ceshi\\測試.xlsx";
		if(fileName.matches("^.+\\.(?i)((xls)|(xlsx))$")){//判斷是否excel文檔
			
			boolean is03Excel = fileName.matches("^.+\\.(?i)(xls)$");
			
			FileInputStream inputStream = new FileInputStream(fileName);
			
			//1、讀取工作簿
			Workbook workbook = is03Excel ?new HSSFWorkbook(inputStream):new XSSFWorkbook(inputStream);
			//2、讀取第一個工作表
			Sheet sheet = workbook.getSheetAt(0);
			//3、讀取行;讀取第3行
			Row row = sheet.getRow(2);
			//4、讀取單元格;讀取第3行第3列
			Cell cell = row.getCell(2);
			System.out.println("第3行第3列單元格的內容爲:" + cell.getStringCellValue());
			
			workbook.close();
			inputStream.close();
		}
	}

	@Test
	public void testExcelStyle() throws Exception {
		//1、創建工作簿
		HSSFWorkbook workbook = new HSSFWorkbook();
		//1.1、創建合併單元格對象;合併第3行的第3列到第5列
		CellRangeAddress cellRangeAddress = new CellRangeAddress(2, 2, 2, 4);//起始行號,結束行號,起始列號,結束列號
		//1.2、創建單元格樣式
		HSSFCellStyle style = workbook.createCellStyle();
		style.setAlignment(HSSFCellStyle.ALIGN_CENTER);//水平居中
		style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);//垂直居中
		//1.3、創建字體
		HSSFFont font = workbook.createFont();
		font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//加粗字體
		font.setFontHeightInPoints((short) 16);//設置字體大小
		//加載字體
		style.setFont(font);
		
		//單元格背景
		//設置背景填充模式
		style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
		//設置填充背景色
		style.setFillBackgroundColor(HSSFColor.YELLOW.index);
		//設置填充前景色
		style.setFillForegroundColor(HSSFColor.RED.index);
		
		//2、創建工作表
		HSSFSheet sheet = workbook.createSheet("Hello World");//指定工作表名
		//2.1、加載合併單元格對象
		sheet.addMergedRegion(cellRangeAddress);
		
		//3、創建行;創建第3行
		HSSFRow row = sheet.createRow(2);
		//4、創建單元格;創建第3行第3列
		HSSFCell cell = row.createCell(2);
		//加載樣式
		cell.setCellStyle(style);
		cell.setCellValue("Hello World!");
		
		//輸出到硬盤
		FileOutputStream outputStream = new FileOutputStream("c:\\itcast\\ceshi\\測試.xls");
		//把excel輸出到具體的地址
		workbook.write(outputStream);
		workbook.close();
		outputStream.close();
	}

	
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章