⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 abaoexcel.h

📁 本程序提供了一种与Excel通讯的一种方法。
💻 H
字号:
#ifndef _abaoExcel_h_

  /************************************
  REVISION LOG ENTRY
  Revision By: abao++
  Revised on 2006-8-11 8:13:07
  Comments: ...
  看了无数关于vc调用excel的贴,可是都是原始的方法,用起来一个字,不方便
  为了做一个项目,特封装了一个类,功能那是非常之。。。。。。。。。。弱弱的。
  不过一般简单的excel文档可以搞定了。而且,这个是可以扩展,可以继承的,,继承就免了吧,
  改一下俺不会告你侵权的,不过最好不要擦除俺的功劳,虽然俺只写了几个简单函数

  调用前请确保已经调用了如下函数初始化com库,

  if (CoInitialize(NULL)!=0)
  {
  AfxMessageBox("初始化COM支持库失败!");
  exit(1);
  }
   ************************************/

  #define _abaoExcel_h_

  #include "excel9.h"
  #include <comdef.h>


  enum RangeHAlignment
  {
    HAlignDefault = 1, HAlignCenter =  - 4108, HAlignLeft =  - 4131,
      HAlignRight =  - 4152
  };
  enum RangeVAlignment
  {
    VAlignDefault = 2, VAlignCenter =  - 4108, VAlignTop =  - 4160,
      VAlignBottom =  - 4107
  };




  class AbaoRange
  {
    Range rg; //内部用range
public:
    AbaoRange(Range &range); //从一个range构造
    void Merge(); //合并
    AbaoRange &operator = (const CString s); //填入一个s,,
    AbaoRange &operator = (const char *str); //填入char*
    AbaoRange &operator = (Range &range); //赋值另一个range
    int Border(short mode = 1, long BoderWidth = 1, long ColorIndex = 1,
      VARIANT color = COleVariant((long)DISP_E_PARAMNOTFOUND, VT_ERROR));
    //设置边框,参数我还没有弄清楚
    int SetHAlign(RangeHAlignment mode = HAlignDefault);
    //设置对齐方式
    int SetVAlign(RangeVAlignment mode = VAlignDefault);
    //设置竖直对齐
  };
  class AbaoExcel
  {

public:
    _Application App; //excep
    Workbooks workbooks; //workbooks
    _Workbook workbook; //workbook
    Worksheets sheets; //sheet
    _Worksheet sheet; //当前的表 ,可以通过SelectSheet 来改变
    Range range; //range
    AbaoExcel();
    ~AbaoExcel();
    _Worksheet &ActiveSheet(); //当前活动的sheet,在SelectSheet 后改变
    Range &ActiveSheetRange(); //当前的range,在使用GetRange后改变
    int Add(CString &ExtPath = CString("")); //从一个模版构造
    _Worksheet &SelectSheet(CString &SheetName); //选择一个已知表名的表
    _Worksheet &SelectSheet(char *SheetName)
    {
      return SelectSheet(CString(SheetName));
    }; //选择一个已知表名的表
    _Worksheet &SelectSheet(int index); //选择一个已知表名的表
    int SetCell(int row, int col, CString &str); //指定行列的单元格填入值
    int SetCell(int row, int col, char *str); //指定行列的单元格填入值
    int SetCell(int row, int col, long lv); //指定行列填入long值
    int SetCell(int row, int col, double dv, int n = 6);
    //指定行列填入浮点值,并截取为指定的小数位
    Range &GetRange(CString RangeStart, CString RangeEnd); //获取range,
    Range &GetRange(CString RangeStr); //获取range A1:A2模式
    int MergeRange(CString RangeStr); //合并Range
    int SetVisible(bool visible)
    {
      App.SetVisible(visible);
      return 1;
    } //设置为可见以及隐藏
    int SaveAs(CString &FileName); //保存到文件名
    int Copy(_Worksheet &sht); //复制一个sheet	
  };
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -