您好,登錄后才能下訂單哦!
這篇文章主要講解了“POI的常用方法分享”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“POI的常用方法分享”吧!
public static void main(String[] args) throws IOException {
Workbook workbook = new HSSFWorkbook();
/*==========獲取常用對(duì)象======begin===========
//讀取文件
POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream("C:/a.xls"));
//得到Excel工作簿對(duì)象
Workbook workbook = new HSSFWorkbook(fs);
//得到工作表對(duì)象
Sheet sheet = workbook.getSheetAt(0);
//得到工作表的行
Row row = sheet.getRow(0);
//得到指定行的單元格
Cell cell = row.getCell(0);
//得到單元格樣式
CellType cellType = CellType.forInt(cell.getCellType());
=========獲取常用對(duì)象=========end===========*/
/*=============建立常用對(duì)象=======begin=======
//創(chuàng)建工作簿
Workbook workbook = new HSSFWorkbook();
//創(chuàng)建工作表
Sheet sheet= workbook.createSheet("new Sheet");
//創(chuàng)建行
Row row = sheet.getRow(0);
//創(chuàng)建單元格樣式
CellStyle cellStyle = workbook.createCellStyle();
//在指定行創(chuàng)建指定樣式的單元格
row.createCell(0).setCellStyle(cellStyle);
//在指定行創(chuàng)建含有指定值的單元格
row.createCell(0).setCellValue(1);
===============建立常用對(duì)象=======end========*/
/*============設(shè)置sheet名稱和單元格內(nèi)容======begin======
Workbook workbook = new HSSFWorkbook();
workbook.setSheetName(1, "第一張工作表");
Cell cell = workbook.createSheet().createRow(0).createCell(0);
cell.setCellValue("單元格內(nèi)容");
============設(shè)置sheet名稱和單元格內(nèi)容=======end======*/
/*============取得sheet的數(shù)量========begin====
Workbook workbook = new HSSFWorkbook();
workbook.getNumberOfSheets();
============取得sheet的數(shù)量========end====*/
//根據(jù)index取得sheet對(duì)象
Sheet sheet = workbook.getSheetAt(0);
//取得有效的行數(shù)
int count = sheet.getLastRowNum();
//取得一行有效的單元格個(gè)數(shù)
Row row = sheet.getRow(0);
row.getLastCellNum();
//單元格類型的讀寫
Cell cell = row.getCell(0);
cell.setCellType(CellType.STRING);//設(shè)置單元格為String類型
cell.getNumericCellValue();//讀取數(shù)值類型的單元格內(nèi)容
//設(shè)置列寬 行高
sheet.setColumnWidth(100, 100);
row.setHeight((short)100);
//添加區(qū)域 合并單元格
sheet.addMergedRegion(new CellRangeAddress(0,3,0,0));
Row row1 = sheet.createRow(0);
row1.createCell(0).setCellValue("0");
row1.createCell(1).setCellValue("1");
row1.createCell(2).setCellValue("2");
row1.createCell(3).setCellValue("3");
//保存Excel文件
String path = "C:/a.xls";
FileOutputStream fileOutputStream = new FileOutputStream(path);
workbook.write(fileOutputStream);
//常用單元格邊框格式
CellStyle style = workbook.createCellStyle();
style.setBorderTop(CellStyle.BORDER_DOTTED);//上邊框
style.setBorderBottom(CellStyle.BORDER_DOTTED);//下邊框
style.setBorderLeft(CellStyle.BORDER_THIN);//左邊框
style.setBorderRight(CellStyle.BORDER_DOTTED);//右邊框
//設(shè)置字體
Font font = workbook.createFont();
font.setFontHeightInPoints((short)11);//設(shè)置字體
font.setBoldweight(Font.BOLDWEIGHT_NORMAL);//加粗
//設(shè)置位置
style.setFont(font);
style.setAlignment(CellStyle.ALIGN_CENTER);//左右居中
style.setVerticalAlignment(CellStyle.VERTICAL_CENTER);//上下居中
style.setRotation((short)10);//單元格內(nèi)容的旋轉(zhuǎn)的角度
//設(shè)置
DataFormat dataFormat = workbook.createDataFormat();
style.setDataFormat(dataFormat.getFormat("0.00%"));//設(shè)置單元格數(shù)據(jù)格式
cell.setCellFormula("");//給單元格設(shè)置公式
//插入圖片
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
BufferedImage bufferedImage = ImageIO.read(new File("a.jpg"));
ImageIO.write(bufferedImage, "jpg", byteArrayOutputStream);
//自定義顏色
Font font1 = workbook.createFont();
font1.setColor(HSSFColor.RED.index);
style.setFont(font1);
cell.setCellStyle(style);
}
點(diǎn)擊(此處)折疊或打開
/*=================根據(jù)單元不同屬性返回字符串?dāng)?shù)值========begin============*/
public String getCellStringValue(Cell cell){
String cellValue = "";
switch (CellType.forInt(cell.getCellType())){
case _NONE:
break;
case NUMERIC:
cellValue = String.valueOf(cell.getNumericCellValue());
break;
case STRING:
cellValue = cell.getStringCellValue();
if (cellValue.trim().equals("") || cellValue.trim().length() <= 0){
cellValue = "";
}
break;
case FORMULA:
cell.setCellType(CellType.NUMERIC);
cellValue = String.valueOf(cell.getNumericCellValue());
break;
case BLANK:
cellValue = "";
break;
case BOOLEAN:
break;
case ERROR:
break;
}
return cellValue;
}
/*=================根據(jù)單元不同屬性返回字符串?dāng)?shù)值========end============*/
感謝各位的閱讀,以上就是“POI的常用方法分享”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)POI的常用方法分享這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。