推广 热搜: page  红书  关键词  小红  数据  论文  数据分析  搜索  哪些  考试 

Java将数据生成为excel,并保存本地指定的路径.

   日期:2024-12-19     移动:https://sicmodule.kub2b.com/mobile/quote/8394.html

https://search.maven.org/search?q=g:org.apache.commons%20AND%20a:commons-collections4

https://search.maven.org/search?q=g:org.apache.poi%20AND%20a:poi

http://maven.outofmemory.cn/org.apache.commons/commons-math3/3.3/


private String[]title;//sheet表的标题

private String[]keys;//对象的属性名,方便标题跟数据对齐

private StringSheetName;//sheet表的名称

private StringexcelName;//excel的名称

private Stringpath;//excel表格保存的路径

public static void createExcel(Excel excel)throws IOException, IllegalAccessException {

Java将数据生成为excel,并保存本地指定的路径.

HSSFWorkbook hssfWorkbook =new HSSFWorkbook();//创建一个工作部

        HSSFSheet hssfSheet = hssfWorkbook.createSheet(excel.getSheetName());//创建一个工作表(参数是sheet表的名称)

//创建第一行sheet表中的内容,索引是从0开始,第一行是sheet表的标题栏

        HSSFRow hssfRowHeader = hssfSheet.createRow(0);

String[] title = excel.getTitle();//标题数组

        HSSFCell cell =null;//创建单元格对象

//遍历生成标题栏里面的标题单元格

        for (int i =0; i < title.length; i++) {

cell = hssfRowHeader.createCell(i);//遍历生成索引是0行的每一个标题单元格对象

            cell.setCellValue(title[i]);//添加数据

        }

List students = excel.getList();//内容集合

        String[] keys = excel.getKeys();//属性名的数组,判断到底要在excel呈现出多少数据

//导出内容

        for (int i =0; i < students.size(); i++) {//集合的长度就是sheet表中内容的条数,比如(长度为3,内容就有三条,索引从1开始)

            HSSFRow hssfRowContext = hssfSheet.createRow(i +1);

Field[] studentArray = students.get(i).getClass().getDeclaredFields();//利用反射将对象属性变成一个数组

            for (int j =0; j < studentArray.length; j++) {

System.out.println();

studentArray[j].setAccessible(true);//这句很重要,意思是设置是否允许访问,而不是修改原来的访问权限修饰词。

                for (int k =0; k < keys.length; k++) {

if (keys[k].equals(studentArray[j].getName())) {

cell = hssfRowContext.createCell(k);

cell.setCellValue(studentArray[j].get(students.get(i)).toString());

}

}

}

}

FileOutputStream fos =new FileOutputStream(excel.getPath() +"/" + excel.getExcelName() +".xlsx");

hssfWorkbook.write(fos);

}

}

students.add(new Student("张三",29,1,"烟台"));

students.add(new Student("王五",38,2,"威海"));

students.add(new Student("刘杰",56,3,"济南"));

Excel excel =new Excel();

excel.setList(students);

//标题数组

String[] title =new String[]{"姓名","年龄","地址"};

String[] keys =new String[]{"name","age","address"};

excel.setTitle(title);

excel.setKeys(keys);

excel.setExcelName("学生管理系统导出表");

excel.setSheetName("学生信息表");

excel.setPath("C:\Users\swj\Desktop\java学习资料");

ExcelUtil.createExcel(excel);


本文地址:https://sicmodule.kub2b.com/quote/8394.html     企库往 https://sicmodule.kub2b.com/ , 查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


0相关评论
相关最新动态
推荐最新动态
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号