如题:
     如何用 VS 2005 C# 代码更新Execl 中的复选框控件是否勾选....

解决方案 »

  1.   

    呵呵,发晕,我连用excel去整一个复选框出来都不知道..;..
      

  2.   

                Excel.Application app = new Excel.ApplicationClass();
                Workbook workbook = app.Workbooks.Open("c:\\test.xls", Missing.Value, false,Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
                Sheets sheets = workbook.Worksheets;
                Worksheet worksheet = (Worksheet)sheets.get_Item(1);          
                try
                {   
                    Excel.CheckBox cbx = worksheet.CheckBoxes(1) as Excel.CheckBox;
                    if(!cbx.Locked)
                        cbx.Locked=true;
                    workbook.Save();
                }
                catch (Exception ex)
                {
                    string str = ex.Message;
                }
                finally
                {               
                }
    看看行不行
      

  3.   

    添加引用com组件中的,microsoft excel 11.0 object library
      

  4.   

    非常感谢5楼的提供的方案
    Missing.Value 的命名空间是那个呢?
      

  5.   

    5楼的达人,用的代码出现这个问题了“/WEB”应用程序中的服务器错误。
    --------------------------------------------------------------------------------异常来自 HRESULT:0x800A03EC 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Runtime.InteropServices.COMException: 异常来自 HRESULT:0x800A03EC源错误: 
    行 21:         Sheets sheets = workbook.Worksheets;
    行 22:         Worksheet worksheet = (Worksheet)sheets.get_Item(1);
    行 23:         Microsoft.Office.Interop.Excel.CheckBox cbx = worksheet.CheckBoxes(1) as Microsoft.Office.Interop.Excel.CheckBox;
    行 24:         if (!cbx.Locked)
    行 25:             cbx.Locked = true;
     源文件: d:\M-Erp\WEB\RFQ_MSpec.aspx.cs    行: 23 堆栈跟踪: 
    [COMException (0x800a03ec): 异常来自 HRESULT:0x800A03EC]
       Microsoft.Office.Interop.Excel._Worksheet.CheckBoxes(Object Index) +0
       RFQ_MSpec.Page_Load(Object sender, EventArgs e) in d:\M-Erp\WEB\RFQ_MSpec.aspx.cs:23
       System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +13
       System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +45
       System.Web.UI.Control.OnLoad(EventArgs e) +80
       System.Web.UI.Control.LoadRecursive() +49
       System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3745