使用c#从excel工作表读取复选框控件值



我正在使用c#阅读excel表格。在这里,当从excel读取复选框控件时,我卡住了。我们需要读取复选框是选中还是未选中

我们正在使用office open xml来读取excel。

OfficeOpenXml.ExcelWorksheet worksheet=Package.workbook.worksheets["abc"];
var  draw=worksheet.Drawings.SingleOrDefault(a=>a.name ==  "Check Box 45");

使用draw.text,我得到复选框文本,但我无法读取它是否被选中或未选中。

谢谢,

谢谢,阿施施

链接复选框与其他单元格。并在该单元格中存储基于复选框check/uncheck的值true/false。

这里我链接了复选框与单元格[z:1]。当用户检查时,我将在单元格[z:1]中添加值为true。如果用户取消勾选,我将添加false。之后,我将从cell[z:1]中读取value,如下所示。

ExcelWorksheet loExcelSheet = excel.Workbook.Worksheets.SingleOrDefault(a => a.Name == "SheetName");
ExcelDrawing cbox1 = loExcelSheet.Drawings.SingleOrDefault(a => a.Name == "CBox1");
var lsRes = loExcelSheet.Cells["Z1"].Value.ToString();

您可以使用OpenXml的控件属性读取该值。

var control = wsPart.Worksheet.Descendants<DocumentFormat.OpenXml.Spreadsheet.Control>().FirstOrDefault();
var controlProperies = (ControlPropertiesPart)wsPart.GetPartById(control.Id);
isChecked = controlProperies.FormControlProperties.Checked == "Checked";

阅读excel文件原文->获取复选框值

最新更新