红叶题诗 發表於 2025-8-19 16:00:00

Stimulsoft 发布 2025.3 版本:支持在报表计算中解释运行 C# 脚本

<p><img src="https://image.evget.com/attachment/keditor/image/20250819/153631_5.jpg"></p>
<p>近日,Stimulsoft 正式发布&nbsp;<strong>2025.3 版本</strong>&nbsp;的报表工具,为 .NET 和 .NET Framework 平台带来了重要更新 ——&nbsp;<strong>支持在报表计算过程中以解释模式运行 C# 脚本</strong>。这一功能将进一步提升报表的灵活性和扩展性,方便开发者在报表设计与运行中实现更多自定义逻辑。</p>
<p><strong>Stimulsoft Ultimate&nbsp;(原Stimulsoft Reports.Ultimate)是用于创建报表和仪表板的通用工具集。该产品包括用于WinForms、ASP.NET、.NET Core、JavaScript、WPF、PHP、Java和其他环境的完整工具集。无需比较产品功能,Stimulsoft Ultimate包含了所有内容!</strong></p>
<p style="text-align: center"><strong>Stimulsoft Ultimate 试用下载&nbsp;</strong></p>
<h2>脚本可用范围</h2>
<p>在新版中,脚本可直接应用于:</p>
<ul>
<li>
<p>报表事件(Events)</p>
</li>
<li>
<p>用户函数(User Functions)</p>
</li>
<li>
<p>报表表达式(Report Expressions)</p>
</li>
<li>
<p>组件、变量及计算列的表达式</p>
</li>
</ul>
<p>值得注意的是:</p>
<ul>
<li>
<p>当表达式中包含return语句时,报表引擎会将其视为脚本处理;</p>
</li>
<li>
<p>若不包含return,则会被当作普通表达式执行。</p>
</li>
</ul>
<h2>脚本运行控制</h2>
<p>开发者可根据需求灵活控制脚本的启用:</p>
<ul>
<li>
<p>完全禁用脚本:将&nbsp;<strong>Allow Scripts To Run</strong>&nbsp;属性设置为False;</p>
</li>
<li>
<p>仅禁用表达式中的脚本:将&nbsp;<strong>Allow Scripts In Expressions</strong>&nbsp;属性设置为False。</p>
</li>
</ul>
<p>此外,还可通过&nbsp;<strong>Script Timeout</strong>&nbsp;属性设置脚本执行超时时间(秒)。在嵌入式组件中,可使用全局选项:</p>
<p>&nbsp;</p>
<pre class="prettyprint lang-js highlighter-hljs"><code>StiOptions.Engine.AllowScriptsToRun = true;</code></pre>
<h2>脚本支持的语法与特性</h2>
<p>新版解释器支持&nbsp;<strong>完整的 C# 基本语法和运算符</strong>,包括:</p>
<ul>
<li>
<p><strong>变量与类型</strong>:支持数值、字符串、日期、布尔值、颜色、集合、对象等;</p>
</li>
<li>
<p><strong>数组与集合</strong>:可使用 .NET 的数组、List、Dictionary 等;</p>
</li>
<li>
<p><strong>运算符</strong>:支持算术、比较、逻辑、位运算、赋值、三元运算、类型检查与转换;</p>
</li>
<li>
<p><strong>循环结构</strong>:支持for、while、do...while、foreach,并支持break与continue;</p>
</li>
<li>
<p><strong>函数</strong>:可调用内置函数、.NET 静态方法、对象方法,也可编写自定义函数;</p>
</li>
<li>
<p><strong>类型转换与检查</strong>:支持is、as、typeof、GetType以及显式/隐式类型转换。</p>
</li>
</ul>
<h2>数据源与业务对象支持</h2>
<p>在脚本中,开发者可直接访问报表注册的数据源及业务对象。例如:</p>
<pre class="prettyprint lang-js highlighter-hljs"><code>var name = Products.ProductName;
var category = Products.Categories.CategoryName;</code></pre>
<p>也可通过RegBusinessObject方法注册业务对象,并在脚本中像普通对象一样访问和修改其属性。</p>
<pre class="prettyprint lang-js highlighter-hljs"><code>var id = Business.Id;
Business.Name = "NewName";</code></pre>
<p>甚至可以结合数据、集合、组件和业务对象,动态控制报表内容:</p>
<pre class="prettyprint lang-js highlighter-hljs"><code>Pages.Components["Text1"].TextValue = Products.ProductName;</code></pre>
<h2>应用价值</h2>
<p>通过引入&nbsp;<strong>解释模式的 C# 脚本运行功能</strong>,Stimulsoft 报表工具为开发者提供了:</p>
<ul>
<li>
<p><strong>更强大的灵活性</strong>:可在报表运行时实现动态逻辑处理;</p>
</li>
<li>
<p><strong>更广泛的扩展能力</strong>:结合 C# 语法和 .NET 类库,满足复杂业务场景;</p>
</li>
<li>
<p><strong>更高的可控性</strong>:通过属性和全局设置,灵活控制脚本执行的范围与安全性。</p>
</li>
</ul>
<p>此次更新不仅提升了报表表达能力,也让<strong>&nbsp;Stimulsoft&nbsp;</strong>报表工具在企业级开发场景中更具竞争力。</p><br><br>
来源:https://www.cnblogs.com/software-Development/p/19046870
頁: [1]
查看完整版本: Stimulsoft 发布 2025.3 版本:支持在报表计算中解释运行 C# 脚本