JAVA?POI設(shè)置EXCEL單元格格式用法舉例
前言
本文將介紹POI Excel for Java的格式設(shè)置基本用法,包括:?jiǎn)卧駱邮皆O(shè)置、值設(shè)置(文本、小數(shù)、百分比、貨幣、日期、科學(xué)計(jì)數(shù)法和中文大寫等)。
1.Maven引入
<poi.version>3.14</poi.version> <!-- https://mvnrepository.com/artifact/org.apache.poi/poi --> ? ? ? ? <dependency> ? ? ? ? ? ? <groupId>org.apache.poi</groupId> ? ? ? ? ? ? <artifactId>poi</artifactId> ? ? ? ? ? ? <version>${poi.version}</version> ? ? ? ? </dependency> ? ? ? ? <!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml --> ? ? ? ? <dependency> ? ? ? ? ? ? <groupId>org.apache.poi</groupId> ? ? ? ? ? ? <artifactId>poi-ooxml</artifactId> ? ? ? ? ? ? <version>${poi.version}</version> ? ? ? ? </dependency>
2.單元格樣式設(shè)置
使用Aspose Excel for Java可以方便地設(shè)置Excel文件中的樣式。下面是一個(gè)簡(jiǎn)單的設(shè)置單元格樣式的示例代碼:
CellStyle cellStyle=wb.createCellStyle(); // 創(chuàng)建單元格樣式 cellStyle.setAlignment(HorizontalAlignment.LEFT); ?// 設(shè)置單元格水平方向?qū)ζ浞绞? cellStyle.setVerticalAlignment(VerticalAlignment.CENTER); // 設(shè)置單元格垂直方向?qū)ζ浞绞? cellStyle.setFillForegroundColor(IndexedColors.BROWN.getIndex());//設(shè)置背景顏色cellStyle.setFillForegroundColor(IndexedColors.RED.getIndex()); // 設(shè)置前景顏色 cellStyle.setBorderBottom(CellStyle.BORDER_THIN); // 底部邊框? cellStyle.setBottomBorderColor(IndexedColors.BLACK.getIndex()); // 底部邊框顏色 cellStyle.setBorderLeft(CellStyle.BORDER_THIN); // 左邊邊框 cellStyle.setLeftBorderColor(IndexedColors.RED.getIndex()); // 左邊邊框顏色 cellStyle.setBorderRight(CellStyle.BORDER_THIN); // 右邊邊框 cellStyle.setRightBorderColor(IndexedColors.BLUE.getIndex()); // 右邊邊框顏色 cellStyle.setBorderTop(CellStyle.BORDER_MEDIUM_DASHED); // 上邊邊框 cellStyle.setTopBorderColor(IndexedColors.BLACK.getIndex()); // 上邊邊框顏色 //設(shè)置字體 Font font = wb.createFont(); font.setFontName("黑體"); font.setFontHeightInPoints((short) 16);//設(shè)置字體大小 Font font2 = wb.createFont(); font2.setFontName("仿宋_GB2312"); font2.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//粗體顯示 font2.setFontHeightInPoints((short) 12); cellStyle.setFont(font);//選擇需要用到的字體格式 cell.setCellStyle(cellStyle); // 設(shè)置單元格樣式 ?
3.單元格值設(shè)置
3.1.設(shè)置單元格為文本格式
CellStyle cellStyle=wb.createCellStyle(); // 創(chuàng)建單元格樣式 ? ? // 此處設(shè)置數(shù)據(jù)格式 DataFormat df = workbook.createDataFormat(); cellStyle.setDataFormat(df.getFormat("@"));//文本格式 cell.setCellStyle(cellStyle); cell.setCellValue(data.toString());
3.2.設(shè)置單元格為日期格式
CellStyle cellStyle=wb.createCellStyle(); // 創(chuàng)建單元格樣式 ? ? // 此處設(shè)置數(shù)據(jù)格式 DataFormat df = workbook.createDataFormat(); cellStyle.setDataFormat(df.getFormat("yyyy-MM-dd"));//日期格式 cell.setCellStyle(cellStyle); cell.setCellValue(data.toString());
3.3.設(shè)置單元格數(shù)值格式
CellStyle cellStyle=wb.createCellStyle(); // 創(chuàng)建單元格樣式 ? ? // 此處設(shè)置數(shù)據(jù)格式 DataFormat df = workbook.createDataFormat(); cellStyle.setDataFormat(df.getFormat("0"));//數(shù)據(jù)格式只顯示整數(shù)"_ " //cellStyle.setDataFormat(df.getFormat("0.00"));//保留兩位小數(shù)點(diǎn) cell.setCellStyle(cellStyle); cell.setCellValue(data.toString());
3.4.設(shè)置單元格為貨幣格式
CellStyle cellStyle=wb.createCellStyle(); // 創(chuàng)建單元格樣式 ? ? // 此處設(shè)置數(shù)據(jù)格式 DataFormat df = workbook.createDataFormat(); cellStyle.setDataFormat(df.getFormat("¥#,##0"));//設(shè)置貨幣格式 cell.setCellStyle(cellStyle); cell.setCellValue(data.toString());
3.5.設(shè)置單元格為百分比格式
CellStyle cellStyle=wb.createCellStyle(); // 創(chuàng)建單元格樣式 ? ? // 此處設(shè)置數(shù)據(jù)格式 DataFormat df = workbook.createDataFormat(); cellStyle.setDataFormat(df.getFormat("0.00%"));//%保留兩位小數(shù)點(diǎn) cell.setCellStyle(cellStyle); // 設(shè)置單元格內(nèi)容為double類型,數(shù)值需要進(jìn)行轉(zhuǎn)換計(jì)算 ?cell.setCellValue(Double.parseDouble(data.toString())/100d);
3.6.設(shè)置單元格為中文大寫格式
CellStyle cellStyle=wb.createCellStyle(); // 創(chuàng)建單元格樣式 ? ? // 此處設(shè)置數(shù)據(jù)格式 DataFormat format= workbook.createDataFormat(); cellStyle.setDataFormat(format.getFormat("[DbNum2][$-804]0"));//設(shè)置中文大寫 cell.setCellStyle(cellStyle); cell.setCellValue(data.toString());
3.7.設(shè)置單元格為科學(xué)計(jì)數(shù)法格式
CellStyle cellStyle=wb.createCellStyle(); // 創(chuàng)建單元格樣式 ? ? // 此處設(shè)置數(shù)據(jù)格式 DataFormat format= workbook.createDataFormat(); cellStyle.setDataFormat(format.getFormat("0.00E+00"));//設(shè)置科學(xué)計(jì)數(shù)法 cell.setCellStyle(cellStyle); cell.setCellValue(data.toString());
總結(jié)
到此這篇關(guān)于JAVA POI設(shè)置EXCEL單元格格式的文章就介紹到這了,更多相關(guān)POI設(shè)置EXCEL單元格格式內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
IDEA找不到database圖標(biāo)的簡(jiǎn)單圖文解決方法
idea是一個(gè)功能十分強(qiáng)大的IDE,大家在使用他進(jìn)行開發(fā)時(shí)候,必不可少的就是連接數(shù)據(jù)庫了,這篇文章主要給大家介紹了關(guān)于IDEA找不到database圖標(biāo)的解決方法,需要的朋友可以參考下2024-07-07SpringBoot feign動(dòng)態(tài)設(shè)置數(shù)據(jù)源(https請(qǐng)求)
這篇文章主要介紹了SpringBoot如何在運(yùn)行時(shí)feign動(dòng)態(tài)添加數(shù)據(jù)源,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2021-08-08詳解如何使用ModelMapper庫進(jìn)行對(duì)象之間的屬性映射
這篇文章主要介紹了如何使用ModelMapper庫進(jìn)行對(duì)象之間的屬性映射實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07springboot oauth2實(shí)現(xiàn)單點(diǎn)登錄實(shí)例
我們見過的很多網(wǎng)站,容許使用第三方賬號(hào)登錄,oauth2是用來做三方登錄的,本文就詳細(xì)的介紹springboot oauth2實(shí)現(xiàn)單點(diǎn)登錄實(shí)例,具有一定的參考價(jià)值,感興趣的可以了解一下2022-01-01