正如Html需要CSS一样,我们的POI生成的Excel同样需要样式才能更完美的表现我们的数据。下面还是从简单的例子出发,学习和了解POI的样式设计。

  一、我的位置。

  1. package com.myjava.poi;
  2.  
  3. import java.io.FileOutputStream;
  4. import java.util.Date;
  5.  
  6. import org.apache.poi.hssf.usermodel.HSSFCell;
  7. import org.apache.poi.hssf.usermodel.HSSFCellStyle;
  8. import org.apache.poi.hssf.usermodel.HSSFRichTextString;
  9. import org.apache.poi.hssf.usermodel.HSSFWorkbook;
  10. import org.apache.poi.ss.usermodel.Cell;
  11. import org.apache.poi.ss.usermodel.CellStyle;
  12. import org.apache.poi.ss.usermodel.Row;
  13. import org.apache.poi.ss.usermodel.Sheet;
  14. import org.apache.poi.ss.usermodel.Workbook;
  15.  
  16. public class ExcelStyle {
  17.  
  18. public static void main(String[] args) throws Exception{
  19. Workbook wb=new HSSFWorkbook(); // 定义一个新的工作簿
  20. Sheet sheet=wb.createSheet("第一个Sheet页"); // 创建第一个Sheet页
  21. Row row=sheet.createRow(); // 创建一个行
  22. row.setHeightInPoints();
  23.  
  24. createCell(wb, row, (short), HSSFCellStyle.ALIGN_CENTER, HSSFCellStyle.VERTICAL_BOTTOM);
  25. createCell(wb, row, (short), HSSFCellStyle.ALIGN_FILL, HSSFCellStyle.VERTICAL_CENTER);
  26. createCell(wb, row, (short), HSSFCellStyle.ALIGN_LEFT, HSSFCellStyle.VERTICAL_TOP);
  27. createCell(wb, row, (short), HSSFCellStyle.ALIGN_RIGHT, HSSFCellStyle.VERTICAL_TOP);
  28.  
  29. FileOutputStream fileOut=new FileOutputStream("D:\\工作簿.xls");
  30. wb.write(fileOut);
  31. fileOut.close();
  32. }
  33.  
  34. /**
  35. * 创建一个单元格并为其设定指定的对齐方式
  36. * @param wb 工作簿
  37. * @param row 行
  38. * @param column 列
  39. * @param halign 水平方向对其方式
  40. * @param valign 垂直方向对其方式
  41. */
  42. private static void createCell(Workbook wb,Row row,short column,short halign,short valign){
  43. Cell cell=row.createCell(column); // 创建单元格
  44. cell.setCellValue(new HSSFRichTextString("我在这")); // 设置值
  45. CellStyle cellStyle=wb.createCellStyle(); // 创建单元格样式
  46. cellStyle.setAlignment(halign); // 设置单元格水平方向对其方式
  47. cellStyle.setVerticalAlignment(valign); // 设置单元格垂直方向对其方式
  48. cell.setCellStyle(cellStyle); // 设置单元格样式
  49. }
  50.  
  51. }

效果显示:

二、我的边框

  1. package com.myjava.poi;
  2.  
  3. import java.io.FileOutputStream;
  4. import java.util.Calendar;
  5. import java.util.Date;
  6.  
  7. import org.apache.poi.hssf.usermodel.HSSFWorkbook;
  8. import org.apache.poi.ss.usermodel.Cell;
  9. import org.apache.poi.ss.usermodel.CellStyle;
  10. import org.apache.poi.ss.usermodel.CreationHelper;
  11. import org.apache.poi.ss.usermodel.IndexedColors;
  12. import org.apache.poi.ss.usermodel.Row;
  13. import org.apache.poi.ss.usermodel.Sheet;
  14. import org.apache.poi.ss.usermodel.Workbook;
  15.  
  16. public class Border {
  17.  
  18. public static void main(String[] args) throws Exception{
  19. Workbook wb=new HSSFWorkbook(); // 定义一个新的工作簿
  20. Sheet sheet=wb.createSheet("第一个Sheet页"); // 创建第一个Sheet页
  21. Row row=sheet.createRow(); // 创建一个行
  22.  
  23. Cell cell=row.createCell(); // 创建一个单元格
  24. cell.setCellValue();
  25.  
  26. CellStyle cellStyle=wb.createCellStyle();
  27. cellStyle.setBorderBottom(CellStyle.BORDER_THIN); // 底部边框
  28. cellStyle.setBottomBorderColor(IndexedColors.BLACK.getIndex()); // 底部边框颜色
  29.  
  30. cellStyle.setBorderLeft(CellStyle.BORDER_THIN); // 左边边框
  31. cellStyle.setLeftBorderColor(IndexedColors.RED.getIndex()); // 左边边框颜色
  32.  
  33. cellStyle.setBorderRight(CellStyle.BORDER_THIN); // 右边边框
  34. cellStyle.setRightBorderColor(IndexedColors.BLUE.getIndex()); // 右边边框颜色
  35.  
  36. cellStyle.setBorderTop(CellStyle.BORDER_MEDIUM_DASHED); // 上边边框
  37. cellStyle.setTopBorderColor(IndexedColors.BLACK.getIndex()); // 上边边框颜色
  38.  
  39. cell.setCellStyle(cellStyle);
  40. FileOutputStream fileOut=new FileOutputStream("D:\\Border.xls");
  41. wb.write(fileOut);
  42. fileOut.close();
  43. }
  44. }

效果显示:

三、我的背景

  1. package com.myjava.poi;
  2.  
  3. import java.io.FileOutputStream;
  4. import java.util.Calendar;
  5. import java.util.Date;
  6.  
  7. import org.apache.poi.hssf.usermodel.HSSFWorkbook;
  8. import org.apache.poi.ss.usermodel.Cell;
  9. import org.apache.poi.ss.usermodel.CellStyle;
  10. import org.apache.poi.ss.usermodel.CreationHelper;
  11. import org.apache.poi.ss.usermodel.IndexedColors;
  12. import org.apache.poi.ss.usermodel.Row;
  13. import org.apache.poi.ss.usermodel.Sheet;
  14. import org.apache.poi.ss.usermodel.Workbook;
  15.  
  16. public class Bg {
  17.  
  18. public static void main(String[] args) throws Exception{
  19. Workbook wb=new HSSFWorkbook(); // 定义一个新的工作簿
  20. Sheet sheet=wb.createSheet("第一个Sheet页"); // 创建第一个Sheet页
  21. Row row=sheet.createRow(); // 创建一个行
  22.  
  23. Cell cell=row.createCell();
  24. cell.setCellValue("看不清我");
  25. CellStyle cellStyle=wb.createCellStyle();
  26. cellStyle.setFillBackgroundColor(IndexedColors.AQUA.getIndex()); // 背景色
  27. cellStyle.setFillPattern(CellStyle.BIG_SPOTS);
  28. cell.setCellStyle(cellStyle);
  29.  
  30. Cell cell2=row.createCell();
  31. cell2.setCellValue("我的前景色与众不同");
  32. CellStyle cellStyle2=wb.createCellStyle();
  33. cellStyle2.setFillForegroundColor(IndexedColors.RED.getIndex()); // 前景色
  34. cellStyle2.setFillPattern(CellStyle.SOLID_FOREGROUND);
  35. cell2.setCellStyle(cellStyle2);
  36.  
  37. FileOutputStream fileOut=new FileOutputStream("D:\\bg.xls");
  38. wb.write(fileOut);
  39. fileOut.close();
  40. }
  41. }

效果显示:

四、合并单元格

  1. package com.myjava.poi;
  2.  
  3. import java.io.FileOutputStream;
  4. import java.util.Calendar;
  5. import java.util.Date;
  6.  
  7. import org.apache.poi.hssf.usermodel.HSSFWorkbook;
  8. import org.apache.poi.ss.usermodel.Cell;
  9. import org.apache.poi.ss.usermodel.CellStyle;
  10. import org.apache.poi.ss.usermodel.CreationHelper;
  11. import org.apache.poi.ss.usermodel.IndexedColors;
  12. import org.apache.poi.ss.usermodel.Row;
  13. import org.apache.poi.ss.usermodel.Sheet;
  14. import org.apache.poi.ss.usermodel.Workbook;
  15. import org.apache.poi.ss.util.CellRangeAddress;
  16.  
  17. public class GetTogether {
  18.  
  19. public static void main(String[] args) throws Exception{
  20. Workbook wb=new HSSFWorkbook(); // 定义一个新的工作簿
  21. Sheet sheet=wb.createSheet("第一个Sheet页"); // 创建第一个Sheet页
  22. Row row=sheet.createRow(); // 创建一个行
  23.  
  24. Cell cell=row.createCell();
  25. cell.setCellValue("我们被合并单元格啦!");
  26.  
  27. sheet.addMergedRegion(new CellRangeAddress(
  28. , // 起始行
  29. , // 结束行
  30. , // 其实列
  31. // 结束列
  32. ));
  33.  
  34. FileOutputStream fileOut=new FileOutputStream("D:\\Together.xls");
  35. wb.write(fileOut);
  36. fileOut.close();
  37. }
  38. }

效果显示:

学习这些知识,尝试做一个艺术气息的Excel吧。美化你的Excel,让数据“悦耳”起来。

POI简易帮助文档系列--给Excel设置样式的更多相关文章

  1. POI简易帮助文档系列--读取Excel文件

    上篇博客通过简单的几行代码就学会了POI新建Excel文档的使用,本篇博客也从简单出发,通过查看POI的官网文档和一个简单的代码实例,学习怎么遍历出一个Excel文档的内容. package com. ...

  2. POI生成WORD文档

    h2:first-child, body>h1:first-child, body>h1:first-child+h2, body>h3:first-child, body>h ...

  3. POI生成word文档完整案例及讲解

    一,网上的API讲解 其实POI的生成Word文档的规则就是先把获取到的数据转成xml格式的数据,然后通过xpath解析表单式的应用取值,判断等等,然后在把取到的值放到word文档中,最后在输出来. ...

  4. POI中文API文档

    一. POI简介 Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能. 二. HSSF概况 HSSF 是 ...

  5. Mac OS X将CSV格式转换为Excel文档格式,Excel转CSV中文乱码问题

    一:在Mac上假设你使用Excel打开windows导出的CSV格式文档.你会发现表格中全部的的内容都显示在A列. 那么,怎样恢复正常呢,你能够将CSV格式的文档导入到Excel文档中,这样就正常显示 ...

  6. Poi之Word文档结构介绍

    1.poi之word文档结构介绍之正文段落 一个文档包含多个段落,一个段落包含多个Runs,一个Runs包含多个Run,Run是文档的最小单元 获取所有段落:List<XWPFParagraph ...

  7. 用java语言通过POI实现word文档的按标题提取

    最近有一个项目需要将一个word文档中的数据提取到数据库中.就去网上查了好多资料,最靠谱的就是用poi实现word文档的提取. 喝水不忘挖井人,我查了好多资料就这个最靠谱,我的这篇博客主要是借鉴htt ...

  8. 介绍一款jquery ui组件gijgo(含tree树状结构、grid表格),特点:简易、文档全清晰易懂、示例代码

    http://gijgo.com   gijgo组件 特点:简易.文档全-虽然是英文的但是清晰易懂可读性强.含示例代码(后端直接用原生.Net C# MVC的哦!非常合.Net开发胃口),网站网速快, ...

  9. java POI往word文档中指定位置插入表格

    1.Service  demo import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.a ...

随机推荐

  1. BZOJ2530 : [Poi2011]Party

    注意到随机一组贪心解得到的团的大小不小于$\frac{N}{3}$的概率是很大的,所以一直随机下去,直到找到一组解即可,随机次数是常数级别的,所以复杂度为$O(n^2)$. #include<c ...

  2. 移动APP 中文输入法下的搜索优化

    最近做了一个移动端的搜索功能,带有suggest.实现上并没有什么可说的,但是在后续优化上,特别是在中文输入法的情况下的优化使我学到一些新东西,所以决定写一篇文章. 下面是我简化后的基本功能实现,监听 ...

  3. CC150 - 11.2

    Question: Write a method to sort an array of strings so that all the anagrams are next to each other ...

  4. 获取枚举类型Description特性的描述信息

    C#中可以对枚举类型用Description特性描述. 如果需要对Description信息获取,那么可以定义一个扩展方法来实现.代码如下: public static class EnumExten ...

  5. [转] - SendMessage、PostMessage原理

    SendMessage.PostMessage原理 本文讲解SendMessage.PostMessage两个函数的实现原理,分为三个步骤进行讲解,分别适合初级.中级.高级程序员进行理解,三个步骤分别 ...

  6. codeacademy

    codeacademy http://link.zhihu.com/?target=https%3A//www.youtube.com/playlist%3Flist%3DPLP6DbQBkn9ymG ...

  7. PHP有两个不同的版本:4.x系列版本和5.x系列版本

    在为用户提供动态内容方面,PHP和MySQL是一个强大的组合.这些年来,这两项产品已经跨越了它们最初的应用舞台,现在,一些世界上最繁忙的网站也在应用它们.虽然它们当初都是开源软件,只能在UNIX/Li ...

  8. Yii2.0 URL美化

    1. 程序初始化注册文件,加入如下: 'urlManager' =>[ 'class' => 'yii\web\UrlManager', 'showScriptName' =>fal ...

  9. 暑假训练round 3 题解

    今天做题运气出奇的好,除了几处小错误调试之后忘记改掉了……最后还AK了……虽然题目不难,学长也说是福利局,但是对个人的鼓励作用还是挺大的……至此暑假训练就结束了,也算没有遗憾……. 题解如下: Pro ...

  10. Apache Spark源码走读之10 -- 在YARN上运行SparkPi

    y欢迎转载,转载请注明出处,徽沪一郎. 概要 “spark已经比较头痛了,还要将其运行在yarn上,yarn是什么,我一点概念都没有哎,再怎么办啊.不要跟我讲什么原理了,能不能直接告诉我怎么将spar ...