如何通过Java代码实现创建和读取Excel公式-创新互联

如何通过Java代码实现创建和读取Excel公式?相信大部分人都还没学会这个技能,为了让大家学会,给大家总结了以下内容,话不多说,一起往下看吧。

创新互联建站-专业网站定制、快速模板网站建设、高性价比繁昌网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式繁昌网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖繁昌地区。费用合理售后完善,十年实体公司更值得信赖。

这里使用了Excel Java类库(Free Spire.XLS for Java 免费版),在官网下载获取文件包后,解压,将lib文件夹下的jar文件导入Java程序;或者通过maven仓库下载并导入。导入结果如下:
如何通过Java代码实现创建和读取Excel公式

1. 创建公式

import com.spire.xls.*;

public class AddFormula {
   public static void main(String[] args) {
     //创建Workbook对象
     Workbook wb = new Workbook();

     //获取第一个工作表
     Worksheet sheet = wb.getWorksheets().get(0);

     //声明两个变量
     int currentRow = 1;
     String currentFormula = null;

     //设置列宽
     sheet.setColumnWidth(1, 32);
     sheet.setColumnWidth(2, 16);

     //写入用于测试的数据到单元格
     sheet.getCellRange(currentRow,1).setValue("测试数据:");
     sheet.getCellRange(currentRow,2).setNumberValue(1);
     sheet.getCellRange(currentRow,3).setNumberValue(2);
     sheet.getCellRange(currentRow,4).setNumberValue(3);
     sheet.getCellRange(currentRow,5).setNumberValue(4);
     sheet.getCellRange(currentRow,6).setNumberValue(5);

     //写入文本
     currentRow += 2;
     sheet.getCellRange(currentRow,1).setValue("公式:") ; ;
     sheet.getCellRange(currentRow,2).setValue("结果:");

     //设置单元格格式
     CellRange range = sheet.getCellRange(currentRow,1,currentRow,2);
     range.getStyle().getFont().isBold(true);
     range.getStyle().setKnownColor(ExcelColors.LightGreen1);
     range.getStyle().setFillPattern(ExcelPatternType.Solid);
     range.getStyle().getBorders().getByBordersLineType(BordersLineType.EdgeBottom).setLineStyle(LineStyleType.Medium);

     //算数运算
     currentFormula = "=1/2+3*4";
     sheet.getCellRange(++currentRow,1).setText(currentFormula);
     sheet.getCellRange(currentRow,2).setFormula(currentFormula);

     //日期函数
     currentFormula = "=TODAY()";
     sheet.getCellRange(++currentRow,1).setText(currentFormula);
     sheet.getCellRange(currentRow,2).setFormula(currentFormula);
     sheet.getCellRange(currentRow,2).getStyle().setNumberFormat("YYYY/MM/DD");

     //时间函数
     currentFormula = "=NOW()";
     sheet.getCellRange(++currentRow,1).setText(currentFormula);
     sheet.getCellRange(currentRow,2).setFormula(currentFormula);
     sheet.getCellRange(currentRow,2).getStyle().setNumberFormat("H:MM AM/PM");

     //IF函数
     currentFormula = "=IF(B1=5,\"Yes\",\"No\")";
     sheet.getCellRange(++currentRow,1).setText(currentFormula);
     sheet.getCellRange(currentRow,2).setFormula(currentFormula);

     //PI函数
     currentFormula = "=PI()";
     sheet.getCellRange(++currentRow,1).setText(currentFormula);
     sheet.getCellRange(currentRow,2).setFormula(currentFormula);

     //三角函数
     currentFormula = "=SIN(PI()/6)";
     sheet.getCellRange(++currentRow,1).setText(currentFormula);
     sheet.getCellRange(currentRow,2).setFormula(currentFormula);

     //计数函数
     currentFormula = "=Count(B1:F1)";
     sheet.getCellRange(++currentRow,1).setText(currentFormula);
     sheet.getCellRange(currentRow,2).setFormula(currentFormula);

     //大值函数
     currentFormula = "=MAX(B1:F1)";
     sheet.getCellRange(++currentRow,1).setText(currentFormula);
     sheet.getCellRange(currentRow,2).setFormula(currentFormula);

     //平均值函数
     currentFormula = "=AVERAGE(B1:F1)";
     sheet.getCellRange(++currentRow,1).setText(currentFormula);
     sheet.getCellRange(currentRow,2).setFormula(currentFormula);

     //求和函数
     currentFormula = "=SUM(B1:F1)";
     sheet.getCellRange(++currentRow,1).setText(currentFormula);
     sheet.getCellRange(currentRow,2).setFormula(currentFormula);

     //保存文档
     wb.saveToFile("AddFormulas.xlsx",FileFormat.Version2013);
     wb.dispose();
   }
}

公式创建结果:
如何通过Java代码实现创建和读取Excel公式

2.读取公式

import com.spire.xls.*;

public class ReadFormula {
   public static void main(String[] args) {
     //加载Excel文档
     Workbook wb = new Workbook();
     wb.loadFromFile("AddFormulas.xlsx");

     //获取第一个工作表
     Worksheet sheet = wb.getWorksheets().get(0);

     //遍历B1到B13的单元格
     for (Object cell: sheet.getCellRange("B1:B13"))
     {
       CellRange cellRange = (CellRange)cell;

       //判断单元格是否含有公式
       if (cellRange.hasFormula())
       {
         //打印单元格及公式
         String certainCell = String.format("单元格[%d, %d]含有公式:", cellRange.getRow(), cellRange.getColumn());
         System.out.println(certainCell + cellRange.getFormula());
       }
     }
   }
}

公式读取结果:
如何通过Java代码实现创建和读取Excel公式

看完上述内容,你们掌握通过Java代码实现创建和读取Excel公式的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


名称栏目:如何通过Java代码实现创建和读取Excel公式-创新互联
分享链接:http://ybzwz.com/article/peoej.html