SpringBoot中使用?POI的示例代碼
POI簡(jiǎn)介
Jakarta POI 是一套用于訪問微軟格式文檔的Java API.
組件HWPF用于操作Word的;
組件HSSF用于操作Excel格式文件.
Excel的兩種形式
demo.xls
- demo.xls
為Excel2003的格式,其核心結(jié)構(gòu)是復(fù)合文檔類型的結(jié)構(gòu),存儲(chǔ)數(shù)據(jù)量較小。在POI中使用HSSF對(duì)象操作。
- demo.xlsx
為Excel2007的格式,其核心結(jié)構(gòu)是 XML 類型的結(jié)構(gòu),采用的是基于 XML 的壓縮方式,使其占用的空間更小,操作效率更高 。在POI中使用XSSF或SXSSF對(duì)象操作。
引入POI的jar包
<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>RELEASE</version> </dependency> <!--POI--> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>5.2.2</version> </dependency>
前者用于引入HSSFWorkbook;后者用于引入XSSFWorkbook
創(chuàng)建Excel
1.創(chuàng)建workbook工作簿 Workbook wb = new XSSFWorkbook(); 2.創(chuàng)建表單Sheet Sheet sheet = wb.createSheet("test"); 3.文件流 FileOutputStream fos = new FileOutputStream("E:\\test.xlsx"); 4.寫入文件 wb.write(fos); 5.關(guān)閉 fos.close();
創(chuàng)建單元格
public static void main(String[] args) throws IOException { // 1.創(chuàng)建workbook工作簿 Workbook wb = new XSSFWorkbook(); // 2.創(chuàng)建表單Sheet Sheet sheet = wb.createSheet("test的sheet"); // 3.創(chuàng)建行對(duì)象,從0開始 Row row = sheet.createRow(0); // 4.創(chuàng)建單元格,從0開始 Cell cell = row.createCell(0); // 5.單元格寫入數(shù)據(jù) cell.setCellValue("以往有人這樣說過:“不要因?yàn)橐患碌慕K止而感到悲傷,因?yàn)榻K點(diǎn)就是起點(diǎn),它將為你開拓一個(gè)更廣闊的世界?!薄?23"); // 6.XSSFCellStyle設(shè)置單元格樣式 CellStyle cellStyle = wb.createCellStyle(); cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND); // 設(shè)置背景顏色 cellStyle.setFillForegroundColor((short)3); cell.setCellStyle(cellStyle); Sheet sheet2 = wb.getSheet("test的sheet"); Row row2 = sheet2.getRow(0); Cell cell2 = row2.getCell(0); String stringCellValue = cell2.getStringCellValue(); System.out.println(stringCellValue); // 7.文件流 FileOutputStream fos = new FileOutputStream("E:\\test.xlsx"); // 8.寫入文件 wb.write(fos); // 9.關(guān)閉 wb.close(); fos.close(); }
設(shè)置格式(樣式) 創(chuàng)建單元格樣式對(duì)象
CellStyle cellStyle = wb.createCellStyle();
居中
cellStyle.setAlignment(HorizontalAlignment.CENTER);
設(shè)置邊框
cellStyle.setBorderTop(BorderStyle.THIN); cellStyle.setBorderRight(BorderStyle.THIN); cellStyle.setBorderBottom(BorderStyle.THIN); cellStyle.setBorderLeft(BorderStyle.THIN);
設(shè)置字體顏色
Font font = workbook.createFont(); font.setColor(Font.COLOR_RED); //紅色 cellStyle.setFont(font);
合并單元格
//firstRow第一行 //lastRow最后一行 //firstCol第一列 //lastCol最后一列 CellRangeAddress cellRangeAddress = new CellRangeAddress(2, 2, 0, 11); sheet.addMergedRegion(cellRangeAddress);//合并單元格
為合并的單元格+邊框
//邊框樣式 //合并的單元格 //創(chuàng)建的表單Sheet RegionUtil.setBorderTop(BorderStyle.THIN, cellRangeAddress, sheet); RegionUtil.setBorderRight(BorderStyle.THIN, cellRangeAddress, sheet); RegionUtil.setBorderBottom(BorderStyle.THIN, cellRangeAddress, sheet); RegionUtil.setBorderLeft(BorderStyle.THIN, cellRangeAddress, sheet);
自動(dòng)調(diào)整列寬
//列號(hào) sheet.autoSizeColumn(1);
到此這篇關(guān)于SpringBoot中使用 POI的文章就介紹到這了,更多相關(guān)SpringBoot使用 POI內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- SpringBoot EasyPoi動(dòng)態(tài)導(dǎo)入導(dǎo)出的兩種方式實(shí)現(xiàn)方法詳解
- SpringBoot如何基于POI-tl和word模板導(dǎo)出龐大的Word文件
- SpringBoot集成POI實(shí)現(xiàn)Excel導(dǎo)入導(dǎo)出的示例詳解
- SpringBoot?AOP?@Pointcut切入點(diǎn)表達(dá)式排除某些類方式
- springboot?aop里的@Pointcut()的配置方式
- springboot中EasyPoi實(shí)現(xiàn)自動(dòng)新增序號(hào)的方法
- 淺談springboot之JoinPoint的getSignature方法
- SpringBoot中使用JeecgBoot的Autopoi導(dǎo)出Excel的方法步驟
- springboot中poi使用操作方法
相關(guān)文章
java文件復(fù)制代碼片斷(java實(shí)現(xiàn)文件拷貝)
本文介紹java實(shí)現(xiàn)文件拷貝的代碼片斷,大家可以直接放到程序里運(yùn)行2014-01-01SpringBoot實(shí)現(xiàn)過濾器攔截器的耗時(shí)對(duì)比
這篇文章主要為大家詳細(xì)介紹了SpringBoot實(shí)現(xiàn)過濾器攔截器的輸出接口耗時(shí)對(duì)比,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2022-06-06Java四種權(quán)限修飾符知識(shí)點(diǎn)詳解
在本篇文章里小編給大家分享的是關(guān)于Java四種權(quán)限修飾符知識(shí)點(diǎn)詳解內(nèi)容,需要的朋友們可以參考下。2020-05-05在idea中利用maven實(shí)現(xiàn)多環(huán)境配置自動(dòng)打包的流程步驟
這篇文章主要介紹了在idea中利用maven實(shí)現(xiàn)多環(huán)境配置自動(dòng)打包的流程步驟,文中通過圖文和代碼示例介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定幫助,需要的朋友可以參考下2024-11-11聊聊spring @Transactional 事務(wù)無法使用的可能原因
這篇文章主要介紹了spring @Transactional 事務(wù)無法使用的可能原因,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07Spring mvc結(jié)果跳轉(zhuǎn)方法詳解
這篇文章主要介紹了Spring mvc結(jié)果跳轉(zhuǎn)方法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03