1 创建新的工作铺

  1. import java.io.FileOutputStream;
  2. import org.apache.poi.hssf.usermodel.HSSFCell;
  3. import org.apache.poi.hssf.usermodel.HSSFCellStyle;
  4. import org.apache.poi.hssf.usermodel.HSSFFont;
  5. import org.apache.poi.hssf.usermodel.HSSFRow;
  6. import org.apache.poi.hssf.usermodel.HSSFSheet;
  7. import org.apache.poi.hssf.usermodel.HSSFWorkbook;
  8. import org.apache.poi.hssf.usermodel.HSSFRichTextString;
  9. import org.apache.poi.hssf.usermodel.HSSFDataFormat;
  10. import org.apache.poi.hssf.usermodel.HSSFComment;
  11. import org.apache.poi.hssf.usermodel.HSSFPatriarch;
  12. import org.apache.poi.hssf.usermodel.HSSFClientAnchor;
  13. public class PoiCreateExcelTest {
  14. public static void main(String[] args) {
  15. /**
  16. * @see <a href="http://poi.apache.org/hssf/quick-guide.html#NewWorkbook">For more</a>
  17. */
  18. // 1 创建新的Excel 工作簿
  19. HSSFWorkbook workbook = new HSSFWorkbook();
  20. // 在Excel工作簿中建一工作表,其名为缺省值, 也可以指定Sheet名称
  21. HSSFSheet sheet = workbook.createSheet();
  22. //HSSFSheet sheet = workbook.createSheet("SheetName");
  23. // 2 用于格式化单元格的数据
  24. HSSFDataFormat format = workbook.createDataFormat();
  25. // 3 创建新行(row),并将单元格(cell)放入其中. 行号从0开始计算.
  26. HSSFRow row = sheet.createRow((short) 1);
  27. // 4 设置字体
  28. HSSFFont font = workbook.createFont();
  29. font.setFontHeightInPoints((short) 20); //字体高度
  30. font.setColor(HSSFFont.COLOR_RED); //字体颜色
  31. font.setFontName("黑体"); //字体
  32. font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); //宽度
  33. font.setItalic(true); //是否使用斜体
  34. // font.setStrikeout(true); //是否使用划线
  35. // 5 设置单元格类型、设置水平居中
  36. HSSFCellStyle cellStyle = workbook.createCellStyle();
  37. cellStyle.setFont(font);
  38. cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); //水平布局:居中
  39. cellStyle.setWrapText(true);
  40. // 6 添加单元格注释
  41. // 7 创建HSSFPatriarch对象,HSSFPatriarch是所有注释的容器.
  42. HSSFPatriarch patr = sheet.createDrawingPatriarch();
  43. // 定义注释的大小和位置,详见文档
  44. HSSFComment comment = patr.createComment(new HSSFClientAnchor(0, 0, 0, 0, (short)4, 2, (short) 6, 5));
  45. // 设置注释内容
  46. comment.setString(new HSSFRichTextString("可以在POI中添加注释!"));
  47. // 设置注释作者. 当鼠标移动到单元格上是可以在状态栏中看到该内容.
  48. comment.setAuthor("Xuys.");
  49. // 创建单元格
  50. HSSFCell cell = row.createCell((short) 1);
  51. HSSFRichTextString hssfString = new HSSFRichTextString("Hello World!");
  52. cell.setCellValue(hssfString);//设置单元格内容
  53. cell.setCellStyle(cellStyle);//设置单元格样式
  54. cell.setCellType(HSSFCell.CELL_TYPE_STRING);//指定单元格格式:数值、公式或字符串
  55. cell.setCellComment(comment);//添加注释
  56. //格式化数据
  57. row = sheet.createRow((short) 2);
  58. cell = row.createCell((short) 2);
  59. cell.setCellValue(11111.25);
  60. cellStyle = workbook.createCellStyle();
  61. cellStyle.setDataFormat(format.getFormat("0.0"));
  62. cell.setCellStyle(cellStyle);
  63. row = sheet.createRow((short) 3);
  64. cell = row.createCell((short) 3);
  65. cell.setCellValue(9736279.073);
  66. cellStyle = workbook.createCellStyle();
  67. cellStyle.setDataFormat(format.getFormat("#,##0.0000"));
  68. cell.setCellStyle(cellStyle);
  69. //自动调整列宽
  70. sheet.autoSizeColumn((short)0); //调整第一列宽度
  71. sheet.autoSizeColumn((short)1); //调整第二列宽度
  72. sheet.autoSizeColumn((short)2); //调整第三列宽度
  73. sheet.autoSizeColumn((short)3); //调整第四列宽度
  74. try {
  75. FileOutputStream fileOut = new FileOutputStream("C:/3.xls");
  76. workbook.write(fileOut);
  77. fileOut.close();
  78. } catch (Exception e) {
  79. System.out.println(e.toString());
  80. }
  81. }
  82. }
  1. 在网上找的一篇自动调整列宽的案子,下一篇有poi具体的中文api。对于使用poi导出excel大概够用了。

使用poi调整字体格式、添加单元格注释、自动调整列宽的更多相关文章

  1. excel 根据单元格内容自动调整列宽

      excel 根据单元格内容自动调整列宽 CreateTime--2018年5月28日08:49:40 Author:Marydon 1.情景展示 单元格宽度超过了列宽 2.解决方案 第一步:同时选 ...

  2. 27.openpyxl 向指定单元格添加图片并修改图片大小 以及修改单元格行高列宽

    openpyxl 向指定单元格添加图片并修改图片大小 以及修改单元格行高列宽 from openpyxl import Workbook,load_workbook from openpyxl.dra ...

  3. POI教程之第二讲:创建一个时间格式的单元格,处理不同内容格式的单元格,遍历工作簿的行和列并获取单元格内容,文本提取

    第二讲 1.创建一个时间格式的单元格 Workbook wb=new HSSFWorkbook(); // 定义一个新的工作簿 Sheet sheet=wb.createSheet("第一个 ...

  4. 【转载】jxl操作excel 字体 背景色 合并单元格 列宽等 .

    package com.email.jav; import java.io.File;import java.io.IOException;import java.net.URL; import jx ...

  5. 使用POI创建word表格合并单元格兼容wps

    poi创建word表格合并单元格代码如下: /** * @Description: 跨列合并 */ public void mergeCellsHorizontal(XWPFTable table, ...

  6. MFC List Control 控件添加单元格编辑,实现可编辑重写

    在实现随机生成四则运算的个人项目中,目前已经完成基本功能,想要把程序变成一个Windows界面的程序.原本以为学习过MFC,应该很快就能完成.但是由于以前用的都是VC6.0,这次用了VS2010,稍微 ...

  7. C#导出Excel按照指定格式设置单元格属性值

    最近项目中一直在写XML.Table.Excel之间的转化.之前一直都是不考虑格式的导出,今天给出一个格式,让按照格式导出,还真把我这新手为难了一翻,网上给出的资料基本一样.为了一个单元格文字变色纠结 ...

  8. ABAP 动态内表添加单元格颜色字段

    *动态内表alv显示时要求某些单元格显示颜色 *wa_fldcat-datatype不能添加LVC_T_SCOL类型,在创建好内表之后,再添加颜色列. DATA: wa_fldcat TYPE lvc ...

  9. EXCEL 批量添加单元格名称

    在EXCEL单元格的值填入想为其设置的名称之后,调整下述代码的begin_line,begin_column,end_line,end_column的值,执行此宏,可用于批量为单元格设置名称. (注: ...

随机推荐

  1. python 操作es

    Elasticsearch 是一个开源的搜索引擎,建立在一个全文搜索引擎库 Apache Lucene™ 基础之上. Lucene 可能是目前存在的,不论开源还是私有的,拥有最先进,高性能和全功能搜索 ...

  2. 自顶向下深入分析Netty(三)--Bootstrap

    自顶向下深入分析Netty(一)--预备知识 自顶向下深入分析Netty(二)--线程模型 自顶向下深入分析Netty(三)--Bootstrap 自顶向下深入分析Netty(四)--EventLoo ...

  3. Learning to Learn and Predict: A Meta-Learning Approach for Multi-Label Classification

    Learning to Learn and Predict: A Meta-Learning Approach for Multi-Label Classification 2019-10-01 11 ...

  4. Android固件img文件的解包, 修改和打包的命令行操作

    Android固件img文件的解包打包 To Unpack-Modify-Pach the system.img, I have followed the following procedure: a ...

  5. LZW

    LZW https://www2.cs.duke.edu/csed/curious/compression/lzw.html https://www.golangprograms.com/golang ...

  6. Vue 项目中断点没有跳转到指定源码的问题

    将配置中 devtool 改为以下即可. devtool: 'source-map' 如果是在 vue-cli 2.x ,那么就在 webpack.dev.config.js 中 如果是 vue-cl ...

  7. 爬虫数据提取之JSON与JsonPATH

    数据提取之JSON与JsonPATH JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,它使得人们很容易的进行阅读和编写.同时也方便了机器进行解析和生成.适 ...

  8. 今天使用Jmeter时遇到的几个问题及解决方法

    JDBC Request :Cannot load JDBC driver class 'com.mysql.jdbc.Driver'解决办法 在Jmeter中run JDBC Request时,收到 ...

  9. Linux磁盘空间查看、磁盘被未知资源耗尽

    Linux系统中,当我们使用rm在Linux上删除了大文件,但是如果有进程打开了这个大文件,却没有关闭这个文件的句柄, 那么Linux内核还是不会释放这个文件的磁盘空间,最后造成磁盘空间占用100%, ...

  10. [转]10 Best GTK Themes for Ubuntu 18.04

    原文地址:https://omgfoss.com/10-best-gtk-themes-ubuntu-18-04/