java中POI的结构说明,Excel单元格操作展示

BSO 2020-09-10 09:53:26 java常见问答 9030

随着时代的发展,越来越多的人投入到java的学习中来。今天就来为大家介绍一些java基础知识,java中POI的结构说明以及Excel单元格操作的展示。

首先我们来看一下POI结构说明。

它的包名称说明如下所示:

⑴HSSF:提供读写Microsoft Excel XLS格式档案的功能。

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

⑶HWPF:提供读写Microsoft Word DOC格式档案的功能。

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

⑸HDGF:提供读Microsoft Visio格式档案的功能。

⑹HPBF:提供读Microsoft Publisher格式档案的功能。

⑺HSMF:提供读Microsoft Outlook格式档案的功能。

接下来是Excel的单元格操作,代码如下所示:

  //Excel的单元格操作
  @Test
  public void testExcel6() throws IOException
  {
      //创建Excel工作薄对象
      HSSFWorkbook workbook = new HSSFWorkbook();
      //创建Excel工作表对象
      HSSFSheet sheet = workbook.createSheet("wj");
      //创建行的单元格,从0开始
      HSSFRow row = sheet.createRow(0);
      //创建单元格
      HSSFCell cell = row.createCell(0);
      //设置值
      cell.setCellValue(new Date());
      //创建单元格样式
      HSSFCellStyle style = workbook.createCellStyle();
      style.setDataFormat(HSSFDataFormat.getBuiltinFormat("m/d/yy h:mm"));
      cell.setCellStyle(style);
      //设置保留2位小数--使用Excel内嵌的格式
      HSSFCell cell1 = row.createCell(1);
      cell1.setCellValue(12.3456789);
      style = workbook.createCellStyle();
      style.setDataFormat(HSSFDataFormat.getBuiltinFormat("0.00"));
      cell1.setCellStyle(style);
      //设置货币格式--使用自定义的格式
      HSSFCell cell2 = row.createCell(2);
      cell2.setCellValue(12345.6789);
      style = workbook.createCellStyle();
      style.setDataFormat(workbook.createDataFormat()
          .getFormat("¥#,##0"));
      cell2.setCellStyle(style);
      //设置百分比格式--使用自定义的格式
      HSSFCell cell3 = row.createCell(3);
      cell3.setCellValue(0.123456789);
      style = workbook.createCellStyle();
      style.setDataFormat(workbook.createDataFormat()
          .getFormat("0.00%"));
      cell3.setCellStyle(style);
      //设置中文大写格式--使用自定义的格式
      HSSFCell cell4 = row.createCell(4);
      cell4.setCellValue(12345);
      style = workbook.createCellStyle();
      style.setDataFormat(workbook.createDataFormat()
          .getFormat("[DbNum2][$-804]0"));
      cell4.setCellStyle(style);
      //设置科学计数法格式--使用自定义的格式
      HSSFCell cell5 = row.createCell(5);
      cell5.setCellValue(12345);
      style = workbook.createCellStyle();
      style.setDataFormat(workbook.createDataFormat()
          .getFormat("0.00E+00"));
      cell5.setCellStyle(style);
      //文档输出
      FileOutputStream out = new FileOutputStream("/Users/wangjun/temp/" + new SimpleDateFormat("yyyyMMddHHmmss")
          .format(new Date())
          .toString() + ".xls");
      workbook.write(out);
      out.close();
  }

补充一下:

HSSFDataFormat.getFormat和HSSFDataFormat.getBuiltinFormat的区别主要在于,①当使用Excel内嵌的的格式时,直接用HSSFDataFormat.getBuiltinFormat静态方法就可以;②当使用自定义的格式时,必须先调用HSSFWorkbook.createDataFormat(),因为这时在底层会先找是否有匹配的内嵌FormatRecord,如果没有就会新建一个FormatRecord,因此必须先调用这个方法,然后可以用获得的HSSFDataFormat实例getFormat方法了。当然相比之下这种方式比较麻烦,所以内嵌格式还是用HSSFDataFormat.getBuiltinFormat静态方法更好。

以上就是关于java中POI的结构说明以及Excel单元格操作展示的主要内容。想要了解更多java基础,敬请关注奇Q工具网。

推荐阅读:

java中maven的项目结构和创建方法,详细图解

javac的结构是怎样的?它的查找类型包括哪些内容?

java中POI是什么意思?Excel基本操作展示