You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用C#通过Office Open XML读取Excel中复选框的选中状态如何实现

解决方案

你获取到的Drawings对象本质是通用绘图对象,需要先转换为复选框对应的控件类型,才能读取选中状态,完整实现代码如下:

using OfficeOpenXml;
using OfficeOpenXml.Drawing.Controls;

// 原有业务逻辑
ExcelWorksheet worksheet = Package.Workbook.Worksheets["abc"];
var draw = worksheet.Drawings.SingleOrDefault(a => a.Name == "Check Box 45");

// 类型校验与状态读取
if (draw is ExcelControlShape controlShape 
    && controlShape.Control.Type == eControlType.CheckBox)
{
    // Checked属性即为复选框选中状态,true为选中,false为未选中
    bool checkBoxState = controlShape.Control.As<ExcelCheckBoxControl>().Checked;
    // 后续可直接基于该状态做业务处理
}

注意事项

  • 上述方法仅支持读取Excel插入的表单控件复选框,如果是ActiveX类型的复选框,EPPlus原生未提供封装API,需要自行解析绘图对应的XML节点获取状态。
  • 请确保使用的EPPlus版本≥5.0,低版本对窗体控件的API支持不全,无法调用上述类型与属性。

内容的提问来源于stack exchange,提问作者Ashish Shinde

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 07:30:03