Java创建,编辑,删除Excel命名区域

  

概述

  

Excel命名区域,即对指定单元格区域进行命名,以便对单元格区域引用,如在公式运用中可以引用指定命名区域进行公式操作。在创建命名区域时,可针对整个工作簿来创建,即workbook.getNameRanges阀门()(),在引用时该命名区域对整个工作簿有效,或者针对指定工作表来创建,即sheet.getNames阀门()(),在引用时仅对该命名区域所在工作表有效。此外,对Excel中已有的命名区域可对其进行重命名,重新设定单元格引用区域,设置隐藏或显示(注意这里设置的是命名区域的名称隐藏或显示,而非命名区域单元格,设置名称隐藏时,可起到保护引用数据来源的目的)以及删除等操作。下面将通过代码示例介绍操作方法。

  

  <强>程序运行环境: Java,想法,jdk1.8.0,无需安装Microsoft Excel

  

  <>强工具:   (免费版)

  

  <强> Jar获取及导入:强通过   ,并解压将自由文件夹下的jar文件导入java程序。

  

参考如下罐导入效果:

  

   Java创建,编辑,删除Excel命名区域

     

Java代码示例

  

1。创建命名区域

  

,,1.1,全局命名区域

  <>以前import  com.spire.xls。*;   ,import  com.spire.xls.core.INamedRange;   ,   ,public  class  NamedRange1  {   ,,,,public  static  void  main (String [], args), {   ,,,,,,,,//创建实例,加载测试文档   ,,,,,,,,Workbook  wb =, new 工作簿();   ,,,,,,,,wb.loadFromFile (“test.xlsx");   ,   ,,,,,,,,//获取第1个工作表   ,,,,,,,,Worksheet  sheet1 =, wb.getWorksheets () . get (0);   ,,,,,,,,//创建全局命名   ,,,,,,,,INamedRange  namedRange1 =, wb.getNameRanges阀门()(“Range1");   ,,,,,,,,namedRange1.setRefersToRange (sheet1.getCellRange (“C2: C3"));   ,,,,,,,,INamedRange  namedRange2 =, wb.getNameRanges阀门()(“Range2");   ,,,,,,,,namedRange2.setRefersToRange (sheet1.getCellRange (“C4: C5"));   ,   ,,,,,,,,//获取第2个工作表,在单元格公式中引用命名区域   ,,,,,,,,Worksheet  sheet2 =, wb.getWorksheets () . get (1);   ,,,,,,,,sheet2.getCellRange (“B1") .setFormula (“=(Range1 Range2)和“);   ,   ,,,,,,,//保存文件   ,,,,,,,,wb.saveToFile (“NamadRange1.xlsx",, ExcelVersion.Version2013);   ,,,,}   ,}   

全局命名区域创建效果:

  

   Java创建,编辑,删除Excel命名区域

  

   Java创建,编辑,删除Excel命名区域

     

  <强> 1.2局部命名区域

  <>以前import  com.spire.xls。*;   ,import  com.spire.xls.core.INamedRange;   ,   ,public  class  NamedRange2  {   ,,,,public  static  void  main (String [], args), {   ,,,,,,,,//创建实例,并加载测试文档   ,,,,,,,,Workbook  wb =, new 工作簿();   ,,,,,,,,wb.loadFromFile (“test.xlsx");   ,   ,,,,,,,,//获取第1个工作表   ,,,,,,,,Worksheet  sheet =, wb.getWorksheets () . get (0);   ,   ,,,,,,,,//创建局部命名区域   ,,,,,,,,INamedRange  namedRange1 =, sheet.getNames阀门()(“Range1");   ,,,,,,,,namedRange1.setRefersToRange (sheet.getCellRange (“C2: C3"));   ,,,,,,,,INamedRange  namedRange2 =, sheet.getNames阀门()(“Range2");   ,,,,,,,,namedRange2.setRefersToRange (sheet.getCellRange (“C4: C5"));   ,   ,,,,,,,,//在公式中引用命名区域   ,,,,,,,,sheet.getCellRange (“C6") .setFormula (“=(Range1 Range2)和“);   ,   ,,,,,,,,//保存文件   ,,,,,,,,wb.saveToFile (“NamedRange2.xlsx",, ExcelVersion.Version2013);   ,,,,}   ,}   

局部命名区域创建效果:

  

   Java创建,编辑,删除Excel命名区域

     

  <强> 2。编辑已有命名区域

  <>以前import  com.spire.xls。*;   ,import  com.spire.xls.core.INamedRange;   ,   ,public  class  ModifyNamedRange  {   ,,,,public  static  void  main (String [], args), {   ,,,,,,,,//创建实例,加载测试文档   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

Java创建,编辑,删除Excel命名区域