poi写入文件demo
package poi.test;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
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;
/**
* 写入文件
* @author xuchangcheng
* 2018年11月2日
*/
public class WritePoi {
/**
* 准备数据
* @return
*/
public List<Map<String,Object>> data(){
List<Map<String,Object>> list = new ArrayList<>();
Map<String,Object> map = new HashMap<>();
map.put("name", "测试01");
map.put("age", 25);
list.add(map);
Map<String,Object> map1 = new HashMap<>();
map1.put("name", "测试02");
map1.put("age", 22);
list.add(map1);
Map<String,Object> map2 = new HashMap<>();
map2.put("name", "测试03");
map2.put("age", 23);
list.add(map2);
return list;
}
public void writeData2Excel(){
String resultPath = "E:/key/2010表格.xls";
String[] title={"姓名","年龄"}; //表头
//创建工作簿
HSSFWorkbook workbook=new HSSFWorkbook();
//创建sheet
HSSFSheet sheet=workbook.createSheet("sheet");
//创建第一行
HSSFRow row=sheet.createRow(0);
HSSFCell cell=null;
//插入第一行数据的表头
for(int i=0;i<title.length;i++){
cell=row.createCell(i);
cell.setCellValue(title[i]);
}
List<Map<String,Object>> data = data();
for(int i=1;i<=data.size();i++){
HSSFRow row2=sheet.createRow(i);
HSSFCell cell0=row2.createCell(0);
cell0.setCellValue(data.get(i-1).get("name").toString());
cell0=row2.createCell(1);
cell0.setCellValue(data.get(i-1).get("age").toString());
}
try {
FileOutputStream fileOutputStream = new FileOutputStream(resultPath);
workbook.write(fileOutputStream);
fileOutputStream.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
WritePoi w = new WritePoi();
w.writeData2Excel();
System.out.println("wancheng");
}
}
测试结果