zoukankan      html  css  js  c++  java
  • 写表格

    package com.xiang;
    
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.OutputStream;
    import java.io.Reader;
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.List;
    
    import org.apache.poi.hssf.usermodel.HSSFCell;
    import org.apache.poi.hssf.usermodel.HSSFCellStyle;
    import org.apache.poi.hssf.usermodel.HSSFRow;
    import org.apache.poi.hssf.usermodel.HSSFSheet;
    import org.apache.poi.hssf.usermodel.HSSFWorkbook;
    
    import com.xiang.bean.PageData;
    
    public class ExcelWriter {
        /**
         * 导出Excel
         * 
         * @param sheetName
         *            sheet名称
         * @param title
         *            标题
         * @param values
         *            内容
         * @param wb
         *            HSSFWorkbook对象
         * @return
         */
        public static HSSFWorkbook getHSSFWorkbook(String sheetName, String[] title, String[][] values, HSSFWorkbook wb) {
    
            // 第一步,创建一个HSSFWorkbook,对应一个Excel文件
            if (wb == null) {
                wb = new HSSFWorkbook();
            }
    
            // 第二步,在workbook中添加一个sheet,对应Excel文件中的sheet
            HSSFSheet sheet = wb.createSheet(sheetName);
    
            // 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制
            HSSFRow row = sheet.createRow(0);
    
            // 第四步,创建单元格,并设置值表头 设置表头居中
            HSSFCellStyle style = wb.createCellStyle();
            style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 创建一个居中格式
    
            // 声明列对象
            HSSFCell cell = null;
    
            // 创建标题
            for (int i = 0; i < title.length; i++) {
                cell = row.createCell(i);
                cell.setCellValue(title[i]);
                cell.setCellStyle(style);
            }
    
            // 创建内容
            for (int i = 0; i < values.length; i++) {
                row = sheet.createRow(i + 1);
                for (int j = 0; j < values[i].length; j++) {
                    // 将内容按顺序赋给对应的列对象
                    row.createCell(j).setCellValue(values[i][j]);
                }
            }
            return wb;
        }
    
        public static void main(String[] args) throws IOException {
            Reader br = new InputStreamReader(System.in);
            List<PageData> list = new ArrayList<PageData>();
            list.add(new PageData("张三", "男", "北大", "电商"));
            list.add(new PageData("李四", "男", "北大", "电商"));
            list.add(new PageData("旺三", "男", "北大", "电商"));
            // excel标题
            String[] title = { "名称", "性别", "学校", "班级" };
    
            // excel文件名
            String fileName = "学生信息表" + System.currentTimeMillis() + ".xls";
            // sheet名
            String sheetName = "学生信息表";
            String content[][] = new String[list.size()][4];
            for (int i = 0; i < list.size(); i++) {
                PageData obj = list.get(i);
                content[i][0] = obj.getStuName();
                content[i][1] = obj.getStuSex();
                content[i][2] = obj.getStuSchoolName();
                content[i][3] = obj.getStuClassName();
            }
            System.out.println(Arrays.toString(content));
            // 创建HSSFWorkbook
            HSSFWorkbook wb = ExcelWriter.getHSSFWorkbook(sheetName, title, content, null);
            OutputStream os = new FileOutputStream(fileName);
            wb.write(os);
            os.flush();
            os.close();
        }
    }
  • 相关阅读:
    填充与复制
    张量排序
    数据统计
    合并与分割
    前向传播(张量)- 实战
    数学运算
    Broadcasting
    TensorFlow2-维度变换
    集合3
    集合2
  • 原文地址:https://www.cnblogs.com/wenwenzuiniucha/p/14749762.html
Copyright © 2011-2022 走看看