c# Excel编程中的几个问题

1、在编程的时候,有时会用Worksheets 接口,有时又会用Sheets接口,那么他们出现的场合分别在什么条件下?有怎么的区别?

answer:   worksheets是指你当前非活动表,而sheets是当前活动表,每个是Sheet是一个工作簿,各个sheet就构成了 sheets,也就是工作表了。如果你同时打开book1和book2,但你对book1进行操作的时候,book1所属的就可以写sheets,而book2就是worksheets。

另一种解释是,Sheets是活动的workbook中sheets的集合,而Worksheets是活动的workbook中Worksheet对象的集合,每个Worksheet对象代表一个worksheet。

2、_workbook与workbook,在Excel的编程中多用_workbook,但workbook是存在的,二者有何区别

事实上两者之间没有太大区别,两者都是接口,workbook继承了_worbook,同时也继承了WorkbookEvents_Event,提供了访问workbook事件的能力

即publicinterfaceWorksheet: _Worksheet,DocEvents_Event 
3、Excel 操作常用的变量

    private Excel.Application m_objExcel = null;  //Excel进程
    private Excel.Workbooks m_objBooks = null; //工作簿集合
    private Excel._Workbook m_objBook = null;   //当前活动的工作簿
    private Excel.Sheets m_objSheets = null;      //工作表的集合
    private Excel._Worksheet m_objSheet = null;  //当前活动的工作表
    private Excel.Range m_objRange = null;          //代表一块区域,即范围
    private object m_objOpt = System.Reflection.Missing.Value;   //使用Missing 类的此实例来表示缺少的值,例如,当您调用具有默认参数值的方法时

 

各变量赋值

     m_objExcel = new Excel.Application();
      m_objExcel.Visible = false;
      m_objExcel.DisplayAlerts = false;

      if (m_objExcel.Version != "11.0")
      {
        MessageBox.Show("您的 Excel 版本不是 11.0 (Office 2003),操作可能会出现问题。");
        m_objExcel.Quit();
        return;
      }

      m_objBooks = (Excel.Workbooks)m_objExcel.Workbooks;
      if (TemplateFilePath.Equals(String.Empty))
      {
        m_objBook = (Excel._Workbook)(m_objBooks.Add(m_objOpt));
      }
      else
      {
        m_objBook = m_objBooks.Open(TemplateFilePath, m_objOpt, m_objOpt, m_objOpt, m_objOpt,
          m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt);
      }
      m_objSheets = (Excel.Sheets)m_objBook.Worksheets;
      m_objSheet = (Excel._Worksheet)(m_objSheets.get_Item(1));

 

4、Excel对象模型 http://msdn.microsoft.com/zh-cn/library/wss56bz7.aspx
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值