测试所用iReport版本:5.1.0

选中组件,设置“Properties expressions”属性,按照下图设置

以下为demo

一、准备工作

数据源采用Jason数据源,json串如下

[{"num1":1,"num2":2,"num3":3},{"num1":4,"num2":5,"num3":6}]

将jason串写入文本文件保存,命名为source.txt(文件名可以随意命名)

二、创建json数据源

1、按照如下图中红色标记所示创建数据源

2、创建报表文件

报表demo源码:

<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreportshttp://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="formula" language="groovy" pageWidth="595" pageHeight="842" whenNoDataType="AllSectionsNoDetail" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="e34b8fc1-2198-40cb-a035-44cbb6a87f02">
 <property name="ireport.zoom" value="1.0"/>
 <property name="ireport.x" value="0"/>
 <property name="ireport.y" value="0"/>
 <queryString language="JSON">
  <![CDATA[]]>
 </queryString>
 <field name="num1" class="java.math.BigDecimal"/>
 <field name="num2" class="java.math.BigDecimal"/>
 <field name="num3" class="java.math.BigDecimal"/>
 <variable name="sum" class="java.math.BigDecimal">
  <variableExpression><![CDATA[$F{num1}+$F{num2}+$F{num3}]]></variableExpression>
 </variable>
 <variable name="seq" class="java.lang.Integer">
  <variableExpression><![CDATA[$V{seq}+1]]></variableExpression>
  <initialValueExpression><![CDATA[2]]></initialValueExpression>
 </variable>
 <variable name="sum_num1" class="java.math.BigDecimal" calculation="Sum">
  <variableExpression><![CDATA[$F{num1}]]></variableExpression>
 </variable>
 <variable name="sum_num2" class="java.math.BigDecimal" calculation="Sum">
  <variableExpression><![CDATA[$F{num2}]]></variableExpression>
 </variable>
 <variable name="sum_num3" class="java.math.BigDecimal" calculation="Sum">
  <variableExpression><![CDATA[$F{num3}]]></variableExpression>
 </variable>
 <title>
  <band height="79" splitType="Stretch">
   <staticText>
    <reportElement uuid="9b6ef208-aa91-4f93-ac3d-70330daeda64" x="0" y="0" width="555" height="79"/>
    <textElement textAlignment="Center" verticalAlignment="Middle">
     <font size="24" isBold="true"/>
    </textElement>
    <text><![CDATA[Excel导出公式]]></text>
   </staticText>
  </band>
 </title>
 <columnHeader>
  <band height="40">
   <staticText>
    <reportElement uuid="90cbbfe8-5fb4-45f5-8929-17891b238cad" x="0" y="0" width="110" height="40"/>
    <box>
     <pen lineWidth="0.5"/>
     <topPen lineWidth="0.5"/>
     <leftPen lineWidth="0.5"/>
     <bottomPen lineWidth="0.5"/>
     <rightPen lineWidth="0.5"/>
    </box>
    <textElement textAlignment="Center" verticalAlignment="Middle">
     <font size="24" isBold="true"/>
    </textElement>
    <text><![CDATA[列一]]></text>
   </staticText>
   <staticText>
    <reportElement uuid="41f6498a-46fc-48be-b650-3fafc8a9659b" x="110" y="0" width="110" height="40"/>
    <box>
     <pen lineWidth="0.5"/>
     <topPen lineWidth="0.5"/>
     <leftPen lineWidth="0.5"/>
     <bottomPen lineWidth="0.5"/>
     <rightPen lineWidth="0.5"/>
    </box>
    <textElement textAlignment="Center" verticalAlignment="Middle">
     <font size="24" isBold="true"/>
    </textElement>
    <text><![CDATA[列二]]></text>
   </staticText>
   <staticText>
    <reportElement uuid="28884ac5-f994-468a-a26f-c299c712ba3d" x="220" y="0" width="110" height="40"/>
    <box>
     <pen lineWidth="0.5"/>
     <topPen lineWidth="0.5"/>
     <leftPen lineWidth="0.5"/>
     <bottomPen lineWidth="0.5"/>
     <rightPen lineWidth="0.5"/>
    </box>
    <textElement textAlignment="Center" verticalAlignment="Middle">
     <font size="24" isBold="true"/>
    </textElement>
    <text><![CDATA[列三]]></text>
   </staticText>
   <staticText>
    <reportElement uuid="046748b0-c8bd-4092-98dc-8b0b869c34e4" x="330" y="0" width="110" height="40"/>
    <box>
     <pen lineWidth="0.5"/>
     <topPen lineWidth="0.5"/>
     <leftPen lineWidth="0.5"/>
     <bottomPen lineWidth="0.5"/>
     <rightPen lineWidth="0.5"/>
    </box>
    <textElement textAlignment="Center" verticalAlignment="Middle">
     <font size="24" isBold="true"/>
    </textElement>
    <text><![CDATA[总和]]></text>
   </staticText>
  </band>
 </columnHeader>
 <detail>
  <band height="39" splitType="Stretch">
   <textField>
    <reportElement uuid="140b0470-20b3-442e-a8d6-9b668fe86c95" x="0" y="0" width="110" height="39"/>
    <box>
     <pen lineWidth="0.5"/>
     <topPen lineWidth="0.5"/>
     <leftPen lineWidth="0.5"/>
     <bottomPen lineWidth="0.5"/>
     <rightPen lineWidth="0.5"/>
    </box>
    <textElement textAlignment="Center" verticalAlignment="Middle">
     <font size="24"/>
    </textElement>
    <textFieldExpression><![CDATA[$F{num1}]]></textFieldExpression>
   </textField>
   <textField>
    <reportElement uuid="2a951d49-085b-44da-a4ea-32cbe4b35ebb" x="110" y="0" width="110" height="39"/>
    <box>
     <pen lineWidth="0.5"/>
     <topPen lineWidth="0.5"/>
     <leftPen lineWidth="0.5"/>
     <bottomPen lineWidth="0.5"/>
     <rightPen lineWidth="0.5"/>
    </box>
    <textElement textAlignment="Center" verticalAlignment="Middle">
     <font size="24"/>
    </textElement>
    <textFieldExpression><![CDATA[$F{num2}]]></textFieldExpression>
   </textField>
   <textField>
    <reportElement uuid="febc7825-b3b3-4ac5-b4ea-b164cd75c1ef" x="220" y="0" width="110" height="39"/>
    <box>
     <pen lineWidth="0.5"/>
     <topPen lineWidth="0.5"/>
     <leftPen lineWidth="0.5"/>
     <bottomPen lineWidth="0.5"/>
     <rightPen lineWidth="0.5"/>
    </box>
    <textElement textAlignment="Center" verticalAlignment="Middle">
     <font size="24"/>
    </textElement>
    <textFieldExpression><![CDATA[$F{num3}]]></textFieldExpression>
   </textField>
   <textField>
    <reportElement uuid="69f166df-0dfc-40bc-9e0a-763ea54dd326" x="330" y="0" width="110" height="39">
     <propertyExpression name="net.sf.jasperreports.export.xls.formula"><![CDATA["sum(A"+$V{seq}+":C"+$V{seq}+")"]]></propertyExpression>
    </reportElement>
    <box>
     <pen lineWidth="0.5"/>
     <topPen lineWidth="0.5"/>
     <leftPen lineWidth="0.5"/>
     <bottomPen lineWidth="0.5"/>
     <rightPen lineWidth="0.5"/>
    </box>
    <textElement textAlignment="Center" verticalAlignment="Middle">
     <font size="24"/>
    </textElement>
    <textFieldExpression><![CDATA[$V{sum}]]></textFieldExpression>
   </textField>
  </band>
 </detail>
 <summary>
  <band height="37">
   <textField>
    <reportElement uuid="faca8263-bc99-4f67-87dd-0108c1315d6f" x="0" y="0" width="110" height="37">
     <propertyExpression name="net.sf.jasperreports.export.xls.formula"><![CDATA["sum(A3:A"+($V{REPORT_COUNT}+2)+")"]]></propertyExpression>
    </reportElement>
    <box>
     <pen lineWidth="0.5"/>
     <topPen lineWidth="0.5"/>
     <leftPen lineWidth="0.5"/>
     <bottomPen lineWidth="0.5"/>
     <rightPen lineWidth="0.5"/>
    </box>
    <textElement textAlignment="Center" verticalAlignment="Middle">
     <font size="24"/>
    </textElement>
    <textFieldExpression><![CDATA[$V{sum_num1}]]></textFieldExpression>
   </textField>
   <textField>
    <reportElement uuid="069be1f9-251c-448e-9e74-461f8501af5b" x="110" y="0" width="110" height="37">
     <propertyExpression name="net.sf.jasperreports.export.xls.formula"><![CDATA["sum(B3:B"+($V{REPORT_COUNT}+2)+")"]]></propertyExpression>
    </reportElement>
    <box>
     <pen lineWidth="0.5"/>
     <topPen lineWidth="0.5"/>
     <leftPen lineWidth="0.5"/>
     <bottomPen lineWidth="0.5"/>
     <rightPen lineWidth="0.5"/>
    </box>
    <textElement textAlignment="Center" verticalAlignment="Middle">
     <font size="24"/>
    </textElement>
    <textFieldExpression><![CDATA[$V{sum_num2}]]></textFieldExpression>
   </textField>
   <textField>
    <reportElement uuid="8674cfec-6d2f-4940-991b-f13f3096e2f2" x="220" y="0" width="110" height="37">
     <propertyExpression name="net.sf.jasperreports.export.xls.formula"><![CDATA["sum(C3:C"+($V{REPORT_COUNT}+2)+")"]]></propertyExpression>
    </reportElement>
    <box>
     <pen lineWidth="0.5"/>
     <topPen lineWidth="0.5"/>
     <leftPen lineWidth="0.5"/>
     <bottomPen lineWidth="0.5"/>
     <rightPen lineWidth="0.5"/>
    </box>
    <textElement textAlignment="Center" verticalAlignment="Middle">
     <font size="24"/>
    </textElement>
    <textFieldExpression><![CDATA[$V{sum_num3}]]></textFieldExpression>
   </textField>
  </band>
 </summary>
</jasperReport>

将以上源码复制,存入文本文件,将文本文件命名为:formular.jrxml,再用iReport打开此报表文件即可

可以进行预览,选中Preview->XLS Preview,再进行预览,即可预览xls公式效果

JasperReport导出excel包含公式相关推荐

  1. EasyExcel根据自定义模板导出Excel(包含图片、表格)

    使用EasyExcel根据模板导出excel,包含图片.表格 提示:其实使用EasyExcel根据模板导出一个excel并不难,难点在于指定图片的位置 文章目录 使用EasyExcel根据模板导出ex ...

  2. 使用jxls,poi导出excel的公式中出现@符号,或者公式不生效

    问题描述 使用jxls,poi导出excel的公式中出现@符号,或者公式不生效(和office版本有关系) 模板excel公式 =MIN(IF(A11:T12>0,A11:T12))/A21 生 ...

  3. Java使用POi导出Excel(包含图片)

    Java使用poi组件导出excel报表,能导出excel报表的还可以使用jxl组件,但jxl想对于poi功能有限,jxl应该不能载excel插入浮动层图片,poi能很好的实现输出excel各种功能, ...

  4. JasperReport导出Excel文件出现很多杂乱的分割线的解决办法

    在使用Jasper设计导出Excel文件时, 在分割部分如果没有调整好, 经常会出现很多杂乱的分割线和大片空白, 下面分享一种方法解决以上问题. 这是我用jasper绘制的一个普通的表格, 如果直接生 ...

  5. 导出excel写入公式_乱码、公式出错、效率低,这些excel“事故”的解决办法来了...

    最近与学员打交道很多,发现跨境电商的财务除了要头疼怎么核算利润.怎么合规外,还被各种excel问题困扰,而且我发现,好多财务也没有这么多空去学习更多的excel的知识. 所以今天,唐老师根据过去在四大 ...

  6. poi导出excel写入公式_【java poi 写入Excel后读取公式值问题】poi导入excel

    java poi 写入Excel后读取公式值问题 不用改公式,只需要用cell.getNumericCellValue()获取,读出来就是正确的值了,如果你读出来的还有问题,说明你其他的地方写的还有问 ...

  7. POI导出Excel,公式不能自动计算

    问题还原: 通过POI读取Excel内容后,需要根据读取内容中的key去数据库中查取对应的实时数据,计算之后,重新塞回到Excel对应的列中.这时计算公式中包含此列的单元格值按理应该是要改变,可是却没 ...

  8. POI导出excel执行公式 公式不生效问题

    excel模板设置好公式即可. 在下面这行代码:workbook.write(out);// 输出Excel内容,生成Excel文件 "之前", 添加这个语句:workbook.s ...

  9. java导出excel包含图片

    最近有需要导出用户留言的数据,包含用户留言的上传的照片 在网上找了很多,整合一些,最后实现了业务,导出来有点丑,后续再做优化,代码功能有局限性,看到的小伙伴如果有好的想法可以说说,让我学习学习 最后实 ...

最新文章

  1. FLEX PHP 交互 简单登录界面(1)源代码
  2. 不要在递归中使用静态容器
  3. andorid 自定义seekbar
  4. 重新初始化k8s master节点
  5. Exceptionless服务端本地化部署
  6. iTerm2 隐藏用户名和主机名
  7. php 日期format不要零_PHP格式化日期用法代码,包括前导零示例
  8. java编译环境有问题_java: 用JCeator编译器,编译出现问题怎么解决?
  9. Oracle odi 数据表导出到文件
  10. MySQL的启动和停止
  11. 实现文字跟随鼠标移动--[转]
  12. 用beamoff给VMware的Mac OS X 10.10.x加速
  13. 纸娃娃系统(摘自百科)
  14. html横菜单中菜单均匀分布,html – 如何在flexbox中的行间均匀分布元素?
  15. 邮件服务器匿名,ProtonMail最安全且匿名邮箱免费服务
  16. Tableau只是图表好看,就是个绣花枕头?
  17. 计算机二级ms在线模拟,2018年全国计算机二级在线自测模拟考场/网页版:MS Office高级应用(含真题及答案)...
  18. Vmware+Ubuntu18.04配置桥接模式,并解决虚机中网络慢的问题
  19. Oh-my-Posh V3更新说明
  20. 基于Hexo搭建Next主题博客

热门文章

  1. 电子监管码应用解决方案
  2. 基于MSP430单片机的简单门禁系统
  3. 预告丨中国计算语言学大会(CCL 2020)将于10月底在线召开
  4. STM32F7配置时钟的方法(keil)
  5. libjpeg用法linux压缩,libjpeg学习1:简单使用示例
  6. 前端面试--谈谈你对MVVM的理解?如何回答
  7. android layout布局 有哪些,Android 常用布局 介绍与使用
  8. C语言malloc两次,C语言malloc()的一个问题——堆越界的一个错误。
  9. SpringSocial之QQ登录
  10. Saber2016安装教程