我正在使用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文件原文->获取复选框值