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

如何用C#读取Excel下拉框值?代码编译报错求助

修复C#读取Excel下拉框选中值的编译错误

错误原因分析

  • oSheet.DropDowns(Type.Missing):DropDowns是工作表的属性而非方法,无需传入参数。
  • allDropDowns.Item("1"):Item方法接受整数索引(从1开始)或控件的名称字符串。如果是按序号访问,应传入整数而非字符串;如果是按名称,需确保下拉框的Name属性确实是"1"。
  • 原代码中oneDropdown.get_List已过时,可直接使用List属性替代。

修复后的完整代码

using Microsoft.Office.Interop.Excel;
using System;

class ExcelDropdownReader
{
    static void Main()
    {
        Application oXL = new Application();
        _Workbook oWB;
        _Worksheet oSheet;

        try
        {
            // 打开指定Excel文件
            oWB = (_Workbook)oXL.Workbooks.Open(@"D:\testexcel.xls");
            // 获取第1个工作表(注意:Sheets索引从1开始)
            oSheet = (_Worksheet)oWB.Sheets.Item[1];

            // 获取工作表中所有下拉框控件集合
            DropDowns allDropDowns = oSheet.DropDowns;

            // 方式1:按整数索引访问下拉框(第1个下拉框,索引从1开始)
            DropDown oneDropdown = allDropDowns.Item[1];

            // 方式2:按控件名称访问(需确保下拉框的Name属性为"DropDown1")
            // DropDown oneDropdown = allDropDowns.Item["DropDown1"];

            // 判断是否有选中项(ListIndex为0表示未选中)
            if (oneDropdown.ListIndex > 0)
            {
                // 获取选中项的文本
                string selectedText = oneDropdown.List[oneDropdown.ListIndex];
                Console.WriteLine($"选中值:{selectedText}");
            }
            else
            {
                Console.WriteLine("未选中任何项");
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine($"错误:{ex.Message}");
        }
        finally
        {
            // 释放资源,避免Excel进程残留
            oWB?.Close(false);
            oXL?.Quit();
            System.Runtime.InteropServices.Marshal.ReleaseComObject(oXL);
        }
    }
}

关键修复点说明

  • 移除DropDowns(Type.Missing)的参数,直接通过oSheet.DropDowns获取控件集合。
  • 将allDropDowns.Item("1")改为整数索引allDropDowns.Item[1],或使用下拉框实际名称的字符串索引。
  • 用oneDropdown.List[oneDropdown.ListIndex]替代过时的get_List方法。
  • 添加资源释放逻辑,防止Excel进程在后台残留。

内容的提问来源于stack exchange,提问作者Nirav Darji

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 08:55:22