zoukankan      html  css  js  c++  java
  • Java生成Excel表格

    在学习生成Excel之前,我们首先了解一下什么是POI;

    Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。

    HSSF - 提供读写Microsoft Excel格式档案的功能。

    XSSF - 提供读写Microsoft Excel OOXML格式档案的功能。

    HWPF - 提供读写Microsoft Word格式档案的功能。

    HSLF - 提供读写Microsoft PowerPoint格式档案的功能。

    HDGF - 提供读写Microsoft Visio格式档案的功能。

    下面是一个demo,也有比较详细的注解:

    package test;
    
    import java.io.File;
    import java.io.FileOutputStream;
    
    import org.apache.poi.hssf.usermodel.HSSFCell;
    import org.apache.poi.hssf.usermodel.HSSFCellStyle;
    import org.apache.poi.hssf.usermodel.HSSFFont;
    import org.apache.poi.hssf.usermodel.HSSFRow;
    import org.apache.poi.hssf.usermodel.HSSFSheet;
    import org.apache.poi.hssf.usermodel.HSSFWorkbook;
    //导出Excel表
    public class PoiTest {
        public static String outputFile = "D:\test.xls";
        public static void main(String[] args) {
            PoiTest poiTest = new PoiTest();
            poiTest.createbook(outputFile);
        }
    
        public HSSFWorkbook createbook(String fileName) {
                // 创建Excel工作簿
                HSSFWorkbook workbook = new HSSFWorkbook();
                // 在Excel工作簿中创建工作表
                HSSFSheet sheet = workbook.createSheet("测试");// 带有表名的
                // HSSFSheet sheet = workbook.createSheet();
                HSSFCellStyle style = workbook.createCellStyle();
                HSSFFont font = workbook.createFont();
                font.setFontHeightInPoints((short) 12);// 设置字体大小
                font.setFontName("微软雅黑");
                style.setFont(font);
                // 在索引0的位置创建行(最顶端的行)
                HSSFRow headrow = sheet.createRow((short) 0);
                // 在索引0的位置创建单元格(左上端)
                for (int j = 0; j < 5; j++) {
                    HSSFCell cell = headrow.createCell(j);
                    // 定义单元格为字符串类型
                    cell.setCellType(HSSFCell.CELL_TYPE_STRING);
                    // 在单元格中输入一些内容
                    cell.setCellValue("姓名 " + j);
                    cell.setCellStyle(style);
                }
                for (int k = 1; k < 10; k++) {
                    HSSFRow row = sheet.createRow((short) k);
                    for (int n = 0; n < 5; n++) {
                        HSSFCell cell = row.createCell(n);
                        // 定义单元格为字符串类型
                        cell.setCellType(HSSFCell.CELL_TYPE_STRING);
                        // 在单元格中输入一些内容
                        cell.setCellValue("张三" + n);
                        cell.setCellStyle(style);
                    }
                }
                try {
                // 新建一个输出文件流
                FileOutputStream fOut = new FileOutputStream(outputFile);
                // 把相应的Excel工作簿存盘
                workbook.write(fOut);
                fOut.flush();
                // 操作结束,关闭文件
                fOut.close();
                System.out.println("文件生成");
                } catch (Exception e) {
                }
            return workbook;
    
        }
    }
  • 相关阅读:
    Yii2 分页
    Yii2 或者当前登录用户帐号
    css3媒体查询判断移动设备横竖屏
    Javascript操作Tr隐藏显示变形~
    php注释标准
    匹配一段html中所有的src
    数据库遇到错误(随时补充)
    NetCore-缓存文件上传和文件流上传
    SVN跨服务器版本迁移
    发票同步微信卡包
  • 原文地址:https://www.cnblogs.com/ouyanxia/p/6612549.html
Copyright © 2011-2022 走看看