如何使用EPPlus读取Excel文件中复选框的状态(C#)
问题描述:
标题已经很好地解释了我的问题。我有一个包含复选框的excel文件,我想使用EPPlus库阅读它们的状态(选中与否)。如何使用EPPlus读取Excel文件中复选框的状态(C#)
我不知道这甚至支持。到目前为止,我没有发现使用EPPlus的特定问题的文档或示例。
答
如果您添加单元格链接,那么拉直值是直截了当的。我不相信绘图对象包含值。
using System.Linq;
using OfficeOpenXml;
using OfficeOpenXml.Drawing;
namespace EPPlus {
public void Run() {
var excelFile = new System.IO.FileInfo(System.IO.Path.Combine(BaseDirectory, "Excel", "Checkbox.xlsx"));
using (ExcelPackage excel = new ExcelPackage(excelFile))
{
ExcelWorksheet sheet = excel.Workbook.Worksheets.SingleOrDefault(a => a.Name == "Sheet1");
ExcelDrawing checkbox2 = sheet.Drawings.SingleOrDefault(a => a.Name == "Check Box 2");
var value = sheet.Cells["G5"].Value.ToString();
}
}
}
}
答
对于现有的Excel,只需指定一个细胞的地方,并将其链接到复选框。直接将真/假值插入该单元格(而不是复选框)。该复选框将自动反映复选框中单元格的值。
您可以将所有指定的单元格放入某个列中,然后隐藏该列。 :)
谢谢你的回应。不幸的是,我正在处理已有的Excel文件,它们没有单元链接。到目前为止,我还在寻找一种方法来读取复选框状态时没有单元链接。 – Preli
@Niederee - 等什么?你如何从checkbox2以编程方式获得“G5”?我很幸运,我的电子表格作者已经包含了单元格链接,但我没有看到如何从复选框中获取它。 –