1、添加依赖

      <!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.9</version>
</dependency> <!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.9</version>
</dependency>

2、java代码

public class CreateExcel {

    static String fileName = "work1.xsl";

    /**
* 读取domain文件的属性名和类型
* @param object
* @return
*/
public static List<Map<String, String>> getDomainV(Object object){
List<Map<String, String>> result = new ArrayList<Map<String,String>> ();
Field[] fields = object.getClass().getDeclaredFields();
for(int i=0;i<fields.length;i++){
Map<String, String> map = new HashMap<String, String>();
String attributeName = fields[i].getName(); //获取属性名称
String attributeType = fields[i].getGenericType().toString(); //获取属性类型
String[] types = attributeType.split("\\.");
map.put("name", attributeName);
map.put("type", types[types.length-1]);
result.add(map);
}
return result;
} /**
* 生成表格
* @param list
* @throws IOException
*/
public static void createWorkBook(List<Map<String, String>> list,String fileName) throws IOException {
Workbook wb = new HSSFWorkbook();//创建excel工作簿
Sheet sheet = wb.createSheet("new sheet"); //创建第一个sheet(页),命名为 new sheet for(int i=0;i<list.size();i++){
Row row = sheet.createRow(i); // 创建一行,在页sheet上
Cell cell = row.createCell(0); // 在row行上创建一个方格
cell.setCellValue(list.get(i).get("name")); //设置方格的显示
cell = row.createCell(1);
cell.setCellValue(list.get(i).get("type")); //
} FileOutputStream fileOut = new FileOutputStream(fileName);
wb.write(fileOut);
fileOut.close();
} /**
* 读取Excel表格
* @param fileName
* @throws Exception
*/
public static void readWorkBook(String fileName) throws Exception {
InputStream inp = new FileInputStream(fileName); Workbook wb = WorkbookFactory.create(inp);
Sheet sheet = wb.getSheetAt(0); for (Row row : sheet) { //利用foreach循环 遍历sheet中的所有行
for (Cell cell : row) { //遍历row中的所有方格
System.out.print(cell.toString() + " "); //输出方格中的内容,以空格间隔
}
System.out.println(); //每一个行输出之后换行
}
inp.close(); //关闭输入流
} public static void main(String[] args) throws Exception {
Student stu = new Student();
List<Map<String, String>> list = getDomainV(stu);
createWorkBook(list,fileName);
System.out.println("creat successful!");
readWorkBook(fileName);
} }

最新文章

  1. 【容器云】传统金融企业的 Docker 实践
  2. 网页日历显示控件calendar3.1
  3. hibernate报错Unknown integral data type for ids : java.lang.String
  4. 蚁群算法求解旅行商问题(附c和matlab源代码)
  5. Mysql中文乱码问题完美解决方案
  6. 关于Math类的round、floor、ceil三个方法
  7. NOIP 2002过河卒 Label:dp
  8. C++之路进阶——codevs2366(朋友圈)
  9. Android开发之ViewPager
  10. Mysql 数字类型转换函数
  11. C# winCE5.0开发右键效果解决方案
  12. No1_2. 流程控制_java学习笔记
  13. C# 3.0 { get; set; } 默认值
  14. Perl 面向对象编程的两种实现和比较:
  15. Linux shell 脚本总结
  16. 移动前端webApp开发点滴积累20140524
  17. 有关Java垃圾回收的几个问题
  18. request.getParameter(“xxx”)的参数的取值
  19. jquery练习笔记
  20. 玩转Spring Boot 集成Dubbo

热门文章

  1. Django 2.0.1 官方文档翻译: 文档目录 (Page 1)
  2. SELECT INTO 和 INSERT INTO SELECT比较
  3. 【js学习笔记】去除省、市、区、特别行政区、自治区
  4. 13、Math类简介
  5. bootstrap-table 应用
  6. Bresenham直线算法与画圆算法
  7. C#抓取网络图片保存到本地
  8. structc 开源框架介绍
  9. if(a==1) &amp; if(1==a) 区别
  10. 01 Getting Started 开始