我有一个excel模板,它有很多数据验证,我需要将数据验证函数转换为c#代码。
我无法找到设置数据验证值的单元格范围。 数据验证是根据细胞大小调整来调整其大小。
有什么猜测?我在网上搜索了很多但是找不到合适的解决方案。
答案 0 :(得分:2)
如果一个单元格 - 比如说Sheet1!A1
有数据验证,那么要检索提供数据验证值的范围,请在VBA中使用以下内容:
Sheet1.Range("A1").Validation.Formula1
使用Excel Interop,您可以在C#(未经测试)中执行此操作:
Microsoft.Office.Interop.Excel.Worksheet xlWorkSheet;
Microsoft.Office.Interop.Excel.Range xlRange;
Microsoft.Office.Interop.Excel.Validation xlValidation;
string validationSource;
// Set Sheet 1 as the sheet you want to work with
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
// get range
xlRange = xlWorkSheet.get_Range("A1", System.Reflection.Missing.Value);
// get validation object
xlValidation = xlRange.Validation;
// get source
validationSource = (string)xlValidation.Formula1;
请参阅here。
HTH