zoukankan      html  css  js  c++  java
  • POI数据类型转换

    核心代码:

    XSSFCreationHelper createHelper = wb.getCreationHelper();
    XSSFCellStyle dateStyle = wb.createCellStyle();
    dateStyle.setDataFormat(createHelper.createDataFormat().getFormat("yyyy/m/d"));

    CellStyle stringStyle = wb.createCellStyle();
    // 设置为文本格式,防止身份证号等长数字变成科学计数法
    DataFormat format = wb.createDataFormat();
    stringStyle.setDataFormat(format.getFormat("@"));

    HSSFWorkbook demoWorkBook = new HSSFWorkbook();
    HSSFSheet demoSheet = demoWorkBook.createSheet("The World's 500 Enterprises");
    HSSFCell cell = demoSheet.createRow(0).createCell(0);


    1.设置单元格为文本格式

    HSSFCellStyle cellStyle2 = demoWorkBook.createCellStyle();
    HSSFDataFormat format = demoWorkBook.createDataFormat();
    cellStyle2.setDataFormat(format.getFormat("@"));
    cell.setCellStyle(cellStyle2);


    第一种:日期格式

    cell.setCellValue(new Date(2008,5,5));
    //set date format
    HSSFCellStyle cellStyle = demoWorkBook.createCellStyle();
    HSSFDataFormat format= demoWorkBook.createDataFormat();
    cellStyle.setDataFormat(format.getFormat("yyyy年m月d日"));
    cell.setCellStyle(cellStyle);


    第二种:保留两位小数格式

    cell.setCellValue(1.2);
    HSSFCellStyle cellStyle = demoWorkBook.createCellStyle();
    cellStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat("0.00"));
    cell.setCellStyle(cellStyle);


    第三种:货币格式

    cell.setCellValue(20000);
    HSSFCellStyle cellStyle = demoWorkBook.createCellStyle();
    HSSFDataFormat format= demoWorkBook.createDataFormat();
    cellStyle.setDataFormat(format.getFormat("¥#,##0"));
    cell.setCellStyle(cellStyle);


    第四种:百分比格式

    cell.setCellValue(20);
    HSSFCellStyle cellStyle = demoWorkBook.createCellStyle();
    cellStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat("0.00%"));
    cell.setCellStyle(cellStyle);


    此种情况跟第二种一样

    第五种:中文大写格式

    cell.setCellValue(20000);
    HSSFCellStyle cellStyle = demoWorkBook.createCellStyle();
    HSSFDataFormat format= demoWorkBook.createDataFormat();
    cellStyle.setDataFormat(format.getFormat("[DbNum2][$-804]0"));
    cell.setCellStyle(cellStyle);


    第六种:科学计数法格式

    cell.setCellValue(20000);
    HSSFCellStyle cellStyle = demoWorkBook.createCellStyle();
    cellStyle.setDataFormat( HSSFDataFormat.getBuiltinFormat("0.00E+00"));
    cell.setCellStyle(cellStyle);

  • 相关阅读:
    查找实体,只限关系数据源的报表模型
    Reporting Service 报表模型
    Façade外观(结构型模式)
    安装Adventureworks2008的艰难历程(原创)
    使用关系数据库和矩阵,Reporting Service也能实现类似Analysis的分析
    简单工厂模式
    报表模型_创建透视
    有用的几个维度属性
    报表模型_创建计算字段
    Composite 组合(结构型模式)
  • 原文地址:https://www.cnblogs.com/hanwuxing/p/12058885.html
Copyright © 2011-2022 走看看