一、POI入门

一、poi是什么?

Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。


二、从哪下载poi?

官网地址:https://poi.apache.org/

一、POI入门_第1张图片

一、POI入门_第2张图片

下载poi-bin-3.17-20170915.zip并解压,然后引入到项目中,就可以使用啦。

我发现每次有什么项目需要额外导包的都要去官网下载包解压,或是从其他渠道拿来再引入进去好麻烦啊,而且看源码还得找到下载的文件中去找,这不是一个好习惯,所以我使用了Maven项目管理工具管理项目。

下面使用Maven项目管理工具进行讲解。


三、环境搭建


  	
	    junit
	    junit
	    4.11
	    test
	
	
	    org.apache.poi
	    poi
	    3.16
	
    
	    org.apache.poi
	    poi-ooxml
	    3.16
		
	
	    org.apache.poi
	    poi-ooxml-schemas
	    3.16
	
	
	    org.apache.xmlbeans
	    xmlbeans
	    2.6.0
	
	
	    dom4j
	    dom4j
	    1.6.1
	
	
	    org.apache.xmlgraphics
	    batik-dom
	    1.8
	
  


四、使用POI

用一个例子来测试POI是否可用,我在E盘创建了一个PoiDemo文件夹,在其文件夹下生成一个Excel文件

import java.io.FileOutputStream;
import java.io.IOException;
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;

/**
 * 测试POI
 * 
 * @author Loren
 *
 */
public class PoiTest {
	@Test
	public void Poi1Test() throws IOException {
		// 创建工作簿
		XSSFWorkbook wb = new XSSFWorkbook();
		// 工作表
		XSSFSheet sheet = wb.createSheet("学生信息表");
		// 标头行,代表第一行
		XSSFRow header = sheet.createRow(0);
		// 创建单元格,0代表第一行第一列
		XSSFCell cell = header.createCell(0);
		cell.setCellValue("学号");
		header.createCell(1).setCellValue("姓名");
		header.createCell(2).setCellValue("专业");
		header.createCell(3).setCellValue("班级");
		header.createCell(4).setCellValue("身份证号");
		header.createCell(5).setCellValue("宿舍号");
		header.createCell(6).setCellValue("报道日期");
		// 设置列的宽度
		// getPhysicalNumberOfCells()代表这行有多少包含数据的列
		for (int i = 0; i < header.getPhysicalNumberOfCells(); i++) {
			// POI设置列宽度时比较特殊,它的基本单位是1/255个字符大小,
			// 因此我们要想让列能够盛的下20个字符的话,就需要用255*20	
			sheet.setColumnWidth(i, 255 * 20);
		}
		// 设置行高,30像素
		header.setHeightInPoints(30);
		//输出文件要么是 \\要么/否则会报错
		FileOutputStream fos = new FileOutputStream("e:/PoiDemo/PoiDemo.xlsx");
		// 向指定文件写入内容
		wb.write(fos);
		//关闭流
		fos.close();
	}
}
使用junit测试,显示测试通过

一、POI入门_第3张图片

看下文件也已生成,OK

一、POI入门_第4张图片

一、POI入门_第5张图片



你可能感兴趣的:(POI)