DevExpress WPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。

DevExpress WPF控件近期全新发布v24.2,此版本进一步升级了Spreadsheet(电子表格)组件的功能,欢迎下载最新版体验!

DevExpress WPF v24.2正式版下载

Spreadsheet(电子表格)组件
动态数组公式

v24.2增强了公式计算引擎,并将动态数组集成到DevExpress WPF Spreadsheet UI控件中。与标准数组公式不同,标准数组公式为每个单元格返回一个值,而动态数组函数返回一个动态的值数组(这个值数组会自动溢出到相邻的单元格中)。

DevExpress WPF v24.2产品图集

新功能包括:

  • 动态阵列计算和溢出范围支持。
  • 新的公式错误类型(#SPILL!)
  • 隐式交叉运算符(@符号)返回单个公式值替代数组。

您现在可以导入具有动态数组公式的Excel文档,使用IWorkbookCalculate方法重新计算这些公式,并将具有计算值的文档保存为Excel文件格式。DevExpress WinForms Spreadsheet控件可以使用单元格编辑器或公式栏插入/编辑动态数组公式。它还可以突出显示溢出的公式范围,并自动更新反映文档修改的公式值,打印和导出为PDF也可用。

此外您可以在代码中管理动态数组公式,v24.2附带了以下新API:

  • CellRange.DynamicArrayFormula - 获取或设置基于当前工作簿区域性的单元格区域动态数组公式。
  • CellRange.DynamicArrayFormulaInvariant - 获取或设置基于不变区域性的单元格区域的动态数组公式。
  • CellRange.HasDynamicArrayFormula - 指示单元格区域是否包含动态数组公式。
  • Cell.IsTopLeftCellInDynamicArrayFormulaRange - 指示当前单元格是否为动态数组公式范围中的左上角单元格。
  • Cell.GetDynamicArrayFormulaRange() - 返回动态数组公式溢出的单元格范围。
  • Worksheet.DynamicArrayFormulas - 返回当前工作表的动态数组公式的集合。

下面的代码片段使用新的API访问、插入和清除动态数组公式:

C#

Worksheet worksheet = spreadsheetControl.ActiveWorksheet;
// Insert dynamic array formulas
worksheet["A1"].DynamicArrayFormulaInvariant = "={\"Red\",\"Green\",\"Orange\",\"Blue\"}";
worksheet.DynamicArrayFormulas.Add(worksheet["A2"], "=LEN(A1:D1)");// Clear dynamic array formulas
Cell cell = worksheet.Cells["B2"];
if (cell.HasDynamicArrayFormula) {
CellRange dymanicArrayRange = cell.GetDynamicArrayFormulaRange();
dymanicArrayRange.Clear();
}
worksheet.DynamicArrayFormulas.Remove(worksheet.Cells["A1"].GetDynamicArrayFormulaRange());

要抑制动态数组公式计算并恢复到以前的操作,请将DocumentCapabilities.DynamicArrayFormulas属性设置为"DocumentCapability.Disabled"。在本例中,动态数组公式将作为标准数组公式计算。

在单元格中嵌入图像

DevExpress WPF Spreadsheet控件支持将图像直接嵌入到工作表单元格中(Microsoft Excel的“Place in Cell”选项),您可以导入在工作表单元格中嵌入图像的文档,并将其保存为XLSX格式(不会丢失内容)。

DevExpress WPF v24.2产品图集

v24.2还发布了用于在代码中管理单元嵌入图像的新API,嵌入的图像存储为单元格值,若要确定单元格是否有嵌入图像,请使用CellValue.IsCellImage属性。使用CellValue.ImageValue属性获取单元格值作为OfficeImage对象(允许您检查图像格式或获取图像字节),要在单元格中插入图像,请将其分配给CellRange.Value属性。

电子表格控件支持以下对象类型作为图像源:

  • Byte[]
  • System.IO.Stream
  • System.Drawing.Image
  • DevExpress.Drawing.DXImage
  • DevExpress.Office.Utils.OfficeImage

此外,v24.2实现了指定图像Alt Text(有意义的描述)值的选项,以及将单元格图像标记为装饰性的功能。这些设置可通过Cell.ImageInfo属性获得。下面的代码片段插入、删除和保存单元格图像(并修改可访问性设置):

C#

byte[] imageBytes = File.ReadAllBytes("image.png");
MemoryStream imageStream = new MemoryStream(imageBytes);
DXImage dximage = DXImage.FromStream(imageStream);// Insert cell images using a byte array, stream and DXImage object
worksheet.Cells["A1"].Value = imageBytes;
worksheet.Cells["A2"].Value = imageStream;
worksheet.Cells["A3"].Value = dximage;// Set image Alt Text
worksheet.Cells["A1"].ImageInfo.AlternativeText = "Image AltText";
// Mark the cell image as decorative
if (worksheet.Cells["A2"].Value.IsCellImage)
worksheet.Cells["A2"].ImageInfo.Decorative = true;// Save the cell image to a new file
OfficeImage cellImage = worksheet.Cells["A1"].Value.ImageValue;
if (cellImage.RawFormat == OfficeImageFormat.Png)
{
byte[] cellImageBytes = cellImage.GetImageBytes(cellImage.RawFormat);
File.WriteAllBytes("saved_image.png", cellImageBytes);
}// Remove cell image
worksheet.Cells["A3"].ClearContents();
AI驱动的图像文本对话框

新的AI支持的Alt Text对话框允许您为Excel文档中的形状对象设置可访问的描述,或将非信息文档图形标记为装饰性(此设置允许屏幕阅读器在扫描文档时忽略装饰性图形),您可以使用Alt Text对话框来使用AI的力量为文档图像生成有意义的描述。

要启用此功能,需要注册一个AI服务,然后在WPF应用程序中附加GenerateImageDescriptionBehavior操作:

XAML

<dx:ThemedWindow
xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml"
xmlns:dx="https://schemas.devexpress.com/winfx/2008/xaml/core"
xmlns:dxsps="https://schemas.devexpress.com/winfx/2008/xaml/spreadsheet"
xmlns:dxmvvm="https://schemas.devexpress.com/winfx/2008/xaml/mvvm"
xmlns:dxai="https://schemas.devexpress.com/winfx/2008/xaml/ai"
x:Class="AIAssistant.MainWindow"
Title="MainWindow" Height="800" Width="800">
<Grid>
<dxsps:SpreadsheetControl CommandBarStyle="Ribbon" ShowStatusBar="True" ShowFormulaBar="True">
<dxmvvm:Interaction.Behaviors>
<dxai:GenerateImageDescriptionBehavior x:Name="GenerateImageDescription"/>
</dxmvvm:Interaction.Behaviors>
</dxsps:SpreadsheetControl>
</Grid>
</dx:ThemedWindow>

如果GenerateImageDescriptionBehavior没有在WPF电子表格控件中注册,则生成按钮将被禁用。只能为文档图像生成描述,当选择形状或图表对象时,Generate选项将被禁用。

新的内置对话框可以从形状的上下文菜单中获得,要激活Alt Text对话框,请选择文档形状、图像或图表,打开上下文菜单并选择"View Alt Text..."上下文菜单项。

对齐和分布式垂直文本对齐

DevExpress WPF v24.2增加了对Spreadsheet单元格内的对齐和分布式垂直对齐类型的支持,具有这些对齐选项的Excel文件可以预览、打印和导出为PDF。

您可以使用CellAlignmentVertical属性在代码中指定垂直对齐方式,下面的代码片段指定了代码中的对齐方式:

C#

var worksheet = spreadsheetControl.ActiveWorksheets;Cell cellA1 = worksheet.Cells["A1"];
cellA1.Value = "Centered and Justified";
cellA1.Alignment.Horizontal = SpreadsheetHorizontalAlignment.Center;
cellA1.Alignment.Vertical = SpreadsheetVerticalAlignment.Justify;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/85943.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/85943.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/85943.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

EcoVadis提升评估得分的策略,EcoVadis常见挑战与解决方案

EcoVadis评估概述 EcoVadis是全球领先的企业社会责任(CSR)评级平台&#xff0c;为全球供应链提供可持续性评估服务。该评估体系通过对环境、劳工与人权、商业道德和可持续采购四大主题的全面评估&#xff0c;帮助企业衡量和改进其CSR表现。 评估核心内容 EcoVadis评估涵盖以…

深入理解指针(五)

1. 回调函数是什么&#xff1f; 2. qsort使用举例 3. qsort函数的模拟实现 1. 回调函数是什么&#xff1f; 回调函数就是⼀个通过函数指针调用的函数。 如果你把函数的指针&#xff08;地址&#xff09;作为参数传递给另⼀个函数&#xff0c;当这个指针被用来调用其所指向的…

Docker 日志

Docker 日志是排查容器故障、监控运行状态的重要工具。下面从 日志查看命令、详解字段、日志驱动、最佳实践 四个方面给你详细解析。 一、最常用日志命令 1. 查看容器日志&#xff08;默认 stdout、stderr&#xff09; docker logs <container_name|container_id>2. 实…

SAP生产环境修改程序

1. 关键的两个标准函数 TRINT_CORR_INSERT TRINT_CORR_CHECK 2. 自定义SAP生产环境修改程序 *data:begin of itab occurs 0, * lines(150), * end of itab. DATA itab TYPE TABLE OF string. PARAMETERS:program LIKE rs38m-programm. READ REPORT program INT…

构建高性能网络服务:从Reactor模式到现代服务器架构设计

在当今高并发、低延迟的应用场景下&#xff0c;如何设计高效稳定的网络服务成为后端开发的核心挑战。本文将深入探讨网络服务的演进路径&#xff0c;结合Reactor模式、one thread one loop思想等关键技术&#xff0c;揭示高性能服务器架构的设计精髓。 一、网络通信的核心问题与…

HarmonyOS 5 多端适配原理与BreakpointSystem工具类解析:附代码

H 一、鸿蒙多端适配的核心概念 鸿蒙系统的多端适配通过响应式布局和媒体查询实现&#xff0c;核心在于根据设备屏幕尺寸动态调整UI结构。其实现逻辑与Web响应式设计类似&#xff0c;但针对鸿蒙ArkUI框架进行了定制化封装。 二、BreakpointSystem工具类&#xff1a;多端适配的…

Telerik生态整合:Kendo UI for Angular组件在WinForms应用中的深度嵌入(二)

Telerik DevCraft包含一个完整的产品栈来构建您下一个Web、移动和桌面应用程序。它使用HTML和每个.NET平台的UI库&#xff0c;加快开发速度。Telerik DevCraft提供完整的工具箱&#xff0c;用于构建现代和面向未来的业务应用程序&#xff0c;目前提供UI for ASP.NET MVC、Kendo…

红帽全球副总裁曹衡康:开源AI开启企业级应用新纪元

在生成式AI技术迅猛发展的今天&#xff0c;ChatGPT、DeepSeek、元宝等AI应用已不再仅仅是科技前沿的象征&#xff0c;而是切实地融入到了我们的工作与生活之中&#xff0c;为企业带来了前所未有的变革机遇。对于企业而言&#xff0c;如何有效利用AI技术降本增效&#xff0c;已成…

异构计算解决方案(兼容不同硬件架构)

异构计算解决方案通过整合不同类型处理器&#xff08;如CPU、GPU、NPU、FPGA等&#xff09;&#xff0c;实现硬件资源的高效协同与兼容&#xff0c;满足多样化计算需求。其核心技术与实践方案如下&#xff1a; 一、硬件架构设计 异构处理器组合‌ 主从协作模式‌&#xff1a…

中科米堆汽车车门自动化三维检测3D尺寸测量设备自动外观检测

汽车的每一个零部件的质量都关乎着整车的性能与安全。汽车车门作为车辆的重要组成部分&#xff0c;不仅承担着保护车内人员安全的关键职责&#xff0c;其外观质量与尺寸精度也直接影响着消费者的第一印象和驾驶体验。 汽车车门制造涉及众多复杂的工艺流程&#xff0c;从冲压成…

Python 数据分析与可视化 Day 4 - Pandas 数据筛选与排序操作

&#x1f3af; 今日目标 掌握 Pandas 中 groupby() 的使用方式学会使用 agg() 方法进行多个聚合掌握 pivot_table() 构建透视表结合分组与排序进行更深入的分析 &#x1f9ee; 一、基本分组统计&#xff08;groupby&#xff09; ✅ 分组 单列聚合 df.groupby("性别&qu…

智能营销系统对企业的应用价值

在当前快速迭代的商业环境中&#xff0c;企业与客户的连接方式正经历前所未有的深刻变革。传统的市场策略在数据洪流和日益个性化的消费者需求面前&#xff0c;效能正逐步递减。 企业决策者普遍面临一个核心挑战&#xff1a;如何在复杂多变的市场中&#xff0c;实现营销资源的最…

docker镜像中集成act工具

# 使用官方 Ubuntu 22.04 基础镜像 FROM ubuntu:22.04# 安装系统依赖并清理缓存 RUN apt-get update && \apt-get install -y --no-install-recommends \curl \git \make \gcc \g \libssl-dev \pkg-config \&& \apt-get clean && \rm -rf /var/lib/apt…

Docker 与 Containerd 交互机制简单剖析

#作者&#xff1a;邓伟 文章目录 一、背景&#xff1a;Docker 架构的演进之路1.1 从自研运行时到 OCI 标准化1.2 现行架构分层模型 二、核心交互组件解析2.1 通信协议&#xff1a;gRPC 双向流的应用2.2 镜像生命周期管理交互2.2.1 镜像拉取流程&#xff08;以 docker pull 为例…

C++ Vector 基础入门操作

一、Vector初始化&#xff1a;5种常用方式 ​​1. 默认构造​​ 创建空容器&#xff0c;适用于后续动态添加元素&#xff1a; std::vector<int> vec; // 空vector&#xff0c;size0 2. 指定大小和初值​​ 预分配空间并初始化元素&#xff1a; std::vector<int>…

社会治理创新平台PPT(48页)

社会治理创新背景 社会治理创新旨在加强和完善基层社会管理和服务体系&#xff0c;提升政府效能&#xff0c;强化城乡社区自治和服务功能。自党的十六届四中全会提出“推进社会管理体制创新”以来&#xff0c;社会治理创新已成为政府工作的重要篇章。 社会治理创新现状与挑战…

论文笔记:Answering POI-Recommendation Questions using TourismReviews

2021 CIKM 1 intro 根据贝恩公司&#xff08;Bain & Company&#xff09;2019年的一份报告&#xff0c;旅行者在预订前通常会进行33至500次网页搜索 部分用户会访问超过50个旅游网站&#xff0c;三分之一的上网时间都用于与旅行相关的活动。在某些情况下&#xf…

带约束的高斯牛顿法求解多音信号分离问题

一、信号模型与优化问题建立 1. 复信号模型 设观测的复信号由两个单频复指数信号加噪声组成&#xff1a; x [ n ] A 0 e j ( 2 π f 0 n T s ϕ 0 ) A 1 e j ( 2 π f 1 n T s ϕ 1 ) w [ n ] , n 0 , 1 , … , N − 1 x[n] A_0 e^{j(2\pi f_0 n T_s \phi_0)} A_1 e…

Java并发编程中高效缓存设计的哲学

文章目录 引言详解缓存的设计和演进基于缓存存储运算结果锁分段散列减小锁粒度异步化提升处理效率原子化避免重复运算小结参考引言 本文将基于并发编程和算法中经典的哈希取模、锁分段、 异步化、原子化。这几个核心设计理念编写逐步推演出一个相对高效的缓存工具,希望对你有…

MATLAB的.mat文件

.mat文件是MATLAB的专有二进制数据文件格式&#xff0c;用于保存MATLAB工作空间中的变量和数据。 主要特点&#xff1a; 1. 存储内容&#xff1a; 各种类型的变量&#xff08;数组、矩阵、结构体、单元数组等&#xff09;函数句柄、对象稀疏矩阵多维数组 2. 文件特性&#…