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();
}
}
POI測試類
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.