XSSFWorkbook根据模板生成Excel文件

1、项目依赖jar包

poi-ooxml-3.9-20121203.jar

2、项目Excel模板

3、代码实现 

package com.neusoft.tax.szrs.zzszda.job;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.ArrayList;
import java.util.List;

import org.apache.poi.ss.usermodel.BorderStyle;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFCellStyle;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class Test {
	public static void main(String[] args) throws Exception {
		String fileName="test.xlsx";
		List<List> rowList=new ArrayList<List>();
		for(int i=0;i<5;i++) {
			List<String> cellList=new ArrayList<String>();
			cellList.add("姓名"+i);
			cellList.add("姓别"+i);
			cellList.add("年龄"+i);			
			rowList.add(cellList);
		}
		String outFileName="outTest.xlsx";		
		String filePath = downloadExcel(fileName,outFileName,rowList);
    }
	 /**
	 * Excel文件生成
	 * @param inFileName
	 * @param outFileName 
	 * @param rowList 
	 * @return
	 */
	private static String downloadExcel(String inFileName,String outFileName,List<List> rowList) {
		String filePath="";
		String targetPath = "D:\\";
		filePath=targetPath+outFileName;
		FileInputStream file;
		try {
			file = new FileInputStream(targetPath+inFileName);
			XSSFWorkbook workbook = new XSSFWorkbook(file);
		    XSSFCellStyle cellStyle = workbook.createCellStyle();
	        cellStyle.setBorderBottom(BorderStyle.THIN);
	        cellStyle.setBorderLeft(BorderStyle.THIN);
	        cellStyle.setBorderRight(BorderStyle.THIN);
	        cellStyle.setBorderTop(BorderStyle.THIN);
	        XSSFSheet sheet = workbook.getSheetAt(0);
			XSSFRow row;
	        XSSFCell cell;
	        for(int i=0;i<rowList.size();i++) {
	        	row = sheet.createRow(i+1);
	        	List cellList=rowList.get(i);
	        	for(int j=0;j<cellList.size();j++) {
	        		cell = row.createCell(j);//姓名
	   	            cell.setCellValue((String)cellList.get(j));
	   	            cell.setCellStyle(cellStyle);
	        	}
	        }
	    	FileOutputStream out = new FileOutputStream(new File(filePath));
	        workbook.write(out);
	        out.close();
	        file.close();	      
		} catch (Exception e) {
			filePath="";
			e.printStackTrace();
		}
		return filePath;
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_40714023

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值