最近学习了一下通过POI向EXCEL中输入与输出,但一直在如何逐行输入由于了很久,通过自己查代码跟编程最后也实现了这个功能,算是自己开始程序猿之路的第一步吧。
本来觉得写博客没什么意义的,但看了很多大神说博客是培养自己思维和巩固的好方法,那就做一只安静的跟风狗吧。
package com.g2.Excel;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Vector;
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 com.teamcenter.rac.kernel.TCComponent;
import com.teamcenter.rac.kernel.TCException;
//对应的导出excel类
public class ReportExcel {
//printData方法中参数map用于接收需要输入的数据
public boolean printData(HashMap map) throws IOException{ //将数据写入Excel中
InputStream tempin=null;
OutputStream os=null;
try {
tempin=getClass().getResourceAsStream("/com/g2/sap template.xlsx"); //获取同包下的xlsx文件
System.out.println(tempin.toString());
XSSFWorkbook wb=new XSSFWorkbook(tempin); //通过poi中的XSSFWorkbook类创建新的excel对象
XSSFSheet sheet = (XSSFSheet) wb.getSheetAt(0); //获得wb中的第一个sheet
renderReportPage(sheet,map); //将数据写入对应的表中
String outFileName="D:/saptemplate.xlsx"; //导出目标的excel文件,此处需要提前创建该文件
os=new FileOutputStream(outFileName);
wb.write(os);
} catch (Exception e) {
// TODO Aut