国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

利用POI實現Excel的導入導出

2019-11-08 02:39:53
字體:
來源:轉載
供稿:網友

在項目開中,我們經常需要用Excel來導入導出數據,而POI技術是實現我們需求的一個選擇。

POI支持office的所有版本

POI全稱 PoorObfuscation Implementation,直譯為“可憐的模糊實現”,利用POI接口可以通過java操作Microsoft office 套件工具的讀寫功能。官網:http://poi.apache.org ,

在官網中下載jar包以及源碼包.

Jar包的引入:①對于只操作2003 及以前版本的excel,只需要poi-3.10.1-20140818.jar

                          ②如果需要同時對2007及以后版本進行操作則需要poi-ooxml-3.10.1-20140818.jar,poi-ooxml-schemas-3.10.1-20140818.jar,以及ooxml-lib目錄下的 xmlbeans-2.6.0.jar,dom4j-1.6.1.jar。

以下是一個對應03版本的實例,創建一個helloWorld為命名的工作表,在表中的第三行第三列寫上hellowrold,并把excel文件寫到本地。以及再從本地中讀取這個剛保存的excel,找到第一張表(即helloWorld表,因為剛才只創建了一張),找到第三行第三列,讀出它的內容并寫在console中

package poi;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import org.apache.poi.hssf.usermodel.HSSFCell;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.ss.usermodel.CellType;import org.junit.Test;public class testPOI03 {	@Test	public void writeExcel03() throws IOException{		//創建工作簿		HSSFWorkbook workBook = new HSSFWorkbook();		//創建工作表  工作表的名字叫helloWorld		HSSFSheet sheet = workBook.createSheet("helloWorld");		//創建行,第3行		HSSFRow row = sheet.createRow(2);		//創建單元格,操作第三行第三列		HSSFCell cell = row.createCell(2, CellType.STRING);		cell.setCellValue("helloWorld");				workBook.write(new File("d://poi//測試.xls"));				workBook.close();//最后記得關閉工作簿	}		@Test	public void readExcel03() throws IOException{		FileInputStream inputStream = new FileInputStream(new File("d://poi//測試.xls"));		//讀取工作簿		HSSFWorkbook workBook = new HSSFWorkbook(inputStream);		//讀取工作表		HSSFSheet sheet = workBook.getSheetAt(0);		//讀取行		HSSFRow row = sheet.getRow(2);		//讀取單元格		HSSFCell cell = row.getCell(2);		String value = cell.getStringCellValue();				System.out.PRintln(value);				inputStream.close();		workBook.close();//最后記得關閉工作簿	}}

接來下用07版的方法,同樣演示上一個實例,這兩個實例區別,就僅僅在于所使用的的類不同,原理都一樣

package poi;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import org.apache.poi.ss.usermodel.CellType;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 testPOI07 {	@Test	public void writeExcel07() throws IOException{		//創建工作簿		XSSFWorkbook workBook = new XSSFWorkbook();		//創建工作表		XSSFSheet sheet = workBook.createSheet("helloWorld");		//創建行		XSSFRow row = sheet.createRow(2);		//創建單元格,操作第三行第三列		XSSFCell cell = row.createCell(2, CellType.STRING);		cell.setCellValue("helloWorld");				FileOutputStream outputStream = new FileOutputStream(new File("d://poi//測試.xlsx"));		workBook.write(outputStream);				workBook.close();//記得關閉工作簿	}		@Test	public void readExcel07() throws IOException{		FileInputStream inputStream = new FileInputStream(new File("d://poi//測試.xlsx"));		//讀取工作簿		XSSFWorkbook workBook = new XSSFWorkbook(inputStream);		//讀取工作表		XSSFSheet sheet = workBook.getSheetAt(0);		//讀取行		XSSFRow row = sheet.getRow(2);		//讀取單元格		XSSFCell cell = row.getCell(2);		String value = cell.getStringCellValue();				System.out.println(value);				inputStream.close();//關閉工作簿		workBook.close();	}}

最后來一點進階的東西,樣式。比如平常操作excel中常見的操作,比如合并單元格,水平居中,垂直居中,改變字體大小,加粗,設置單元格背景顏色 等等。

按照前端的說法也可以叫做樣式,都通通可以通過POI實現的。

在接下來的一個實例之前,先了解一下POI中樣式的理解,是一定要記住的,知道了再進行excel的美化簡直soeasy!:

1.合并單元格,屬于工作簿,獨立創建,應用于工作表

2.樣式,屬于工作簿,由工作表創建,應用于單元格

3.字體,屬于工作簿,由工作簿創建,應用于樣式

4.設置背景顏色,一定要先設置顏色的填充模式

以下這個實例是對之前做的再進行深入,運用上面的幾個點對它加一些美化工作

package poi;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;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.FillPatternType;import org.apache.poi.ss.usermodel.HorizontalAlignment;import org.apache.poi.ss.usermodel.VerticalAlignment;import org.apache.poi.ss.util.CellRangeAddress;import org.junit.Test;public class testPOIExcelStyle {		@Test	public void testExcelStyle() throws IOException{		//1.創建工作簿		HSSFWorkbook workBook = new HSSFWorkbook();				//創建合并單元格對象		CellRangeAddress rangeAddress = new CellRangeAddress(2, 2, 2, 4);		//創建樣式		HSSFCellStyle style = workBook.createCellStyle();		style.setAlignment(HorizontalAlignment.CENTER);		style.setVerticalAlignment(VerticalAlignment.CENTER);		//創建字體		HSSFFont font = workBook.createFont();		font.setFontHeightInPoints((short) 16);		//font.setFontHeight((short)320); 效果和上面一樣。用這個方法設置大小,值要設置為字體大小*20倍,具體看API文檔		font.setColor(HSSFColor.GREEN.index);		font.setBold(true);		style.setFont(font);		//設置背景		style.setFillPattern(FillPatternType.SOLID_FOREGROUND);		style.setFillForegroundColor(HSSFColor.RED.index);				//2.創建工作表		HSSFSheet sheet = workBook.createSheet("helloWorld");		//添加合并區域		sheet.addMergedRegion(rangeAddress);				//3.創建行		HSSFRow row = sheet.createRow(2);		//4.創建單元格		HSSFCell cell = row.createCell(2);		cell.setCellValue("helloWorld");		cell.setCellStyle(style);				//輸出		FileOutputStream outputStream = new FileOutputStream(new File("d://poi//測試.xls"));		workBook.write(outputStream);				workBook.close();		outputStream.close();	}}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 策勒县| 科技| 无为县| 鄂温| 合川市| 高密市| 卓尼县| 枝江市| 固始县| 安福县| 张家川| 榕江县| 建水县| 礼泉县| 雅安市| 上林县| 德化县| 额济纳旗| 阳高县| 都兰县| 泰安市| 阿拉善盟| 永靖县| 平山县| 沅江市| 札达县| 宿松县| 孟州市| 屏山县| 瑞丽市| 华蓥市| 绵竹市| 延津县| 桃源县| 临猗县| 望谟县| 吉林省| 新野县| 洛阳市| 镇远县| 贵南县|