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();
        }
    }
  • 相关阅读:
    洛谷p1017 进制转换(2000noip提高组)
    Personal Training of RDC
    XVIII Open Cup named after E.V. Pankratiev. Grand Prix of Eurasia
    XVIII Open Cup named after E.V. Pankratiev. Grand Prix of Peterhof.
    Asia Hong Kong Regional Contest 2019
    XVIII Open Cup named after E.V. Pankratiev. Grand Prix of Siberia
    XVIII Open Cup named after E.V. Pankratiev. Ukrainian Grand Prix.
    XVIII Open Cup named after E.V. Pankratiev. GP of SPb
    卜题仓库
    2014 ACM-ICPC Vietnam National First Round
  • 原文地址:https://www.cnblogs.com/wenwenzuiniucha/p/14749762.html
Copyright © 2011-2022 走看看