`

SummaryHSSF

    博客分类:
  • POI
阅读更多


public class SummaryHSSF {

    public static void main(String[] args) throws IOException {  
      //创建Workbook对象(这一个对象代表着对应的一个Excel文件)  
                   //HSSFWorkbook表示以xls为后缀名的文件  
      Workbook wb = new HSSFWorkbook();  
      //获得CreationHelper对象,这个应该是一个帮助类  
      CreationHelper helper = wb.getCreationHelper();  
      //创建Sheet并给名字(表示Excel的一个Sheet)  
       Sheet sheet1 = wb.createSheet("HSSF_Sheet_1");        
       Sheet sheet2 = wb.createSheet("HSSF_Sheet_2");  
       //Row表示一行Cell表示一列  
       Row row = null;  
       Cell cell = null;  
       for(int i=0;i<60;i=i+2){  
           //获得这个sheet的第i行  
           row = sheet1.createRow(i);  
           //设置行长度自动             
//            row.setHeight((short)500);  
           row.setHeightInPoints(20);  
//            row.setZeroHeight(true);  
           for(int j=0;j<25;j++){         
               //设置每个sheet每一列的宽度,自动,根据需求自行确定  
               sheet1.autoSizeColumn(j, true);  
               //创建一个基本的样式  
               CellStyle cellStyle = SummaryHSSF.createStyleCell(wb);  
               //获得这一行的每j列  
               cell = row.createCell(j);  
               if(j==0){  
                   //设置文字在单元格里面的位置  
                   cellStyle = SummaryHSSF.setCellStyleAlignment(cellStyle, CellStyle.ALIGN_CENTER, CellStyle.VERTICAL_CENTER);  
                   //先创建字体样式,并把这个样式加到单元格的字体里面  
                   cellStyle.setFont(createFonts(wb));  
                   //把这个样式加到单元格里面  
                   cell.setCellStyle(cellStyle);                     
                   //给单元格设值  
                   cell.setCellValue(true);  
               }else if(j==1){  
                   //设置文字在单元格里面的位置  
                   cellStyle = SummaryHSSF.setCellStyleAlignment(cellStyle, CellStyle.ALIGN_CENTER, CellStyle.VERTICAL_CENTER);  
                   //设置这个样式的格式(Format)  
                   cellStyle = SummaryHSSF.setCellFormat(helper,cellStyle, "#,###.####");                    
                   //先创建字体样式,并把这个样式加到单元格的字体里面  
                   cellStyle.setFont(createFonts(wb));  
                   //把这个样式加到单元格里面  
                   cell.setCellStyle(cellStyle);  
                   //给单元格设值  
                   cell.setCellValue(new Double(2008.2008));  
               }else if(j==2){  
                   cellStyle = SummaryHSSF.setCellStyleAlignment(cellStyle, CellStyle.ALIGN_CENTER, CellStyle.VERTICAL_CENTER);                      
                   cellStyle.setFont(createFonts(wb));  
                   cell.setCellStyle(cellStyle);  
                   cell.setCellValue(helper.createRichTextString("RichString"+i+j));                     
               }else if(j==3){  
                   cellStyle = SummaryHSSF.setCellStyleAlignment(cellStyle, CellStyle.ALIGN_CENTER, CellStyle.VERTICAL_CENTER);  
                   cellStyle = SummaryHSSF.setCellFormat(helper,cellStyle, "MM-yyyy-dd");  
                   cell.setCellStyle(cellStyle);  
                   cell.setCellValue(new Date());  
               }else if(j==24){  
                   cellStyle = SummaryHSSF.setCellStyleAlignment(cellStyle, CellStyle.ALIGN_CENTER, CellStyle.VERTICAL_CENTER);  
                   cellStyle.setFont(createFonts(wb));  
                   //设置公式  
                   cell.setCellFormula("SUM(E"+(i+1)+":X"+(i+1)+")");                    
               }else{                    
                   cellStyle = SummaryHSSF.setCellStyleAlignment(cellStyle, CellStyle.ALIGN_CENTER, CellStyle.VERTICAL_CENTER);  
                   cellStyle = SummaryHSSF.setFillBackgroundColors(cellStyle,IndexedColors.ORANGE.getIndex(),IndexedColors.ORANGE.getIndex(),CellStyle.SOLID_FOREGROUND);  
                   cell.setCellStyle(cellStyle);  
                   cell.setCellValue(1);  
               }  
           }  
       }  
       //输出  
       OutputStream os = new FileOutputStream(new File("c://SummaryHSSF.xls"));  
       wb.write(os);  
       os.close();       
   }  
   /** 
    * 边框 
    * @param wb 
    * @return 
    */ 
   public static CellStyle createStyleCell(Workbook wb){  
       CellStyle cellStyle = wb.createCellStyle();  
       //设置一个单元格边框颜色  
       cellStyle.setBorderBottom(CellStyle.BORDER_THIN);  
       cellStyle.setBorderTop(CellStyle.BORDER_THIN);  
       cellStyle.setBorderLeft(CellStyle.BORDER_THIN);  
       cellStyle.setBorderRight(CellStyle.BORDER_THIN);  
       //设置一个单元格边框颜色  
       cellStyle.setRightBorderColor(IndexedColors.BLACK.getIndex());  
       cellStyle.setLeftBorderColor(IndexedColors.BLACK.getIndex());  
       cellStyle.setBottomBorderColor(IndexedColors.BLACK.getIndex());  
       cellStyle.setTopBorderColor(IndexedColors.BLACK.getIndex());          
       return cellStyle;  
   }  
   /** 
    * 设置文字在单元格里面的位置 
    * CellStyle.ALIGN_CENTER 
    * CellStyle.VERTICAL_CENTER 
     * @param cellStyle 
     * @param halign 
     * @param valign 
     * @return 
     */ 
    public static CellStyle setCellStyleAlignment(CellStyle cellStyle,short halign,short valign){  
        //设置上下  
        cellStyle.setAlignment(CellStyle.ALIGN_CENTER);  
        //设置左右  
        cellStyle.setVerticalAlignment(CellStyle.VERTICAL_CENTER);  
        return cellStyle;  
    }  
    /** 
     * 格式化单元格 
     * 如#,##0.00,m/d/yy去HSSFDataFormat或XSSFDataFormat里面找 
     * @param cellStyle 
     * @param fmt 
     * @return 
     */ 
    public static CellStyle setCellFormat(CreationHelper helper,CellStyle cellStyle,String fmt){  
        //还可以用其它方法创建format  
        cellStyle.setDataFormat(helper.createDataFormat().getFormat(fmt));  
        return cellStyle;  
    }  
    /** 
     * 前景和背景填充的着色 
     * @param cellStyle 
     * @param bg IndexedColors.ORANGE.getIndex(); 
     * @param fg IndexedColors.ORANGE.getIndex(); 
     * @param fp CellStyle.SOLID_FOREGROUND 
     * @return 
     */ 
    public static CellStyle setFillBackgroundColors(CellStyle cellStyle,short bg,short fg,short fp){  
        cellStyle.setFillBackgroundColor(bg);  
        cellStyle.setFillForegroundColor(fg);  
        cellStyle.setFillPattern(fp);  
        return cellStyle;  
    }  
    /** 
     * 设置字体 
     * @param wb 
     * @return 
     */ 
    public static Font createFonts(Workbook wb){  
        //创建Font对象  
        Font font = wb.createFont();  
        //设置字体  
        font.setFontName("黑体");  
        //着色  
        font.setColor(HSSFColor.BLUE.index);  
        //斜体  
        font.setItalic(true);  
        //字体大小  
        font.setFontHeight((short)300);  
        return font;  
    }  


}
分享到:
评论

相关推荐

    操作系统实验二进程同步与互斥.docx

    操作系统实验二进程同步与互斥

    pyzmq-25.1.1-cp39-cp39-macosx_10_15_universal2.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    gnn-citationS

    gnn-citationS

    redis命令实践详细版

    redis命令实践

    grpcio-1.24.3-cp36-cp36m-macosx_10_9_x86_64.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    Web前端开发技术题库.xlsx

    Web前端开发技术题库

    node_exporter-0.17.0.linux-amd64.tar.gz

    node_exporter-0.17.0.linux-amd64.tar

    pyzmq-25.1.2-cp310-cp310-macosx_10_15_universal2.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    mybatis日志sql自动填充及补全

    根据日志中的sql及入参自动拼接成完整的可执行sql,简单方便,无需安装,直接使用

    股价数据.xlsx

    股价数据

    springboot的小程序商城系统(源码+论文)高分毕设

    基于springboot+微信小程序的商城系统 开发环境: springboot+Idea+jdk1.8+ 数据库: mysql 是否使用maven: 使用 购物系统设计的设计主要是对系统所要实现的功能进行详细考虑,确定所要实现的功能后进行界面的设计,在这中间还要考虑如何可以更好的将功能及页面进行很好的结合,方便用户可以很容易明了的找到自己所需要的信息,还有系统平台后期的可操作性,通过对信息内容的详细了解进行技术的开发。

    widgetsnbextension-4.0.5-py3-none-any.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    斯特林发动机冷却器 斯特林发动机冷却器

    斯特林发动机冷却器

    Pygments-0.9-py2.3.egg

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    动态旅游网站-基于SSM动态旅游网上设计与实现

    动态旅游网站-基于SSM动态旅游网上设计与实现

    ASP.NET计算机科学与工程系网站毕业设计论文【ASP】.zip

    ASP.NET计算机科学与工程系网站毕业设计论文【ASP】

    使用 Python 和 Tkinter 的基于 GUI 的图书馆管理系统源码+文档说明

    使用 Python 和 Tkinter 的基于 GUI 的图书馆管理系统源码+文档说明专为大学期间课程设计和期末大作业开发的高分设计项目,可作为高分课程设计和期末大作业的参考,含有代码注释小白也可看的懂,有能力的小伙伴也可以在此基础上进行二开,项目代码完整下载即可运行。 首先打开config.txt文件,将登录的用户密码改成你的电脑上的mysql用户名和密码。并且确保你的电脑上按照pdf实验报告中的描述建立了library数据库和三个table。 程序的入口为Gui.py,用vscode打开这个文件,右键,然后选择在终端运行python文件。如果提示说找不到bg.jpg,请尝试更换工作目录(vscode的默认工作目录通常为c:\user,而anaconda自带的spyder默认工作目录则是原文件所在文件夹。如果解决不了,可以换用spyder)。vscode更换工作目录的方法为,请在终端用cd命令,将目录修改到source文件夹。然后程序即可正常运行。如果出现了意料之外的bug,请查看终端的输出。我会用python的logging模块将异常输出到控制台。专为大学期间课程设计和期末

    ASP+ACCESS动态网站设计与制作(源代码+论文+答辩PPT)【ASP】.zip

    ASP+ACCESS动态网站设计与制作(源代码+论文+答辩PPT)【ASP】

    基于ASP网络办公OA系统设计(论文+源代码+开题报告+答辩PPT)【ASP】.zip

    基于ASP网络办公OA系统设计(论文+源代码+开题报告+答辩PPT)【ASP】

    哈尔滨工程大学《海洋学基础》2020考研专业课复试大纲.pdf

    哈尔滨工程大学考研复试大纲

Global site tag (gtag.js) - Google Analytics