我要在VC中新建一个Excel表格,往里面填充数据之后做成报表打印出来,请问该怎么做啊???

解决方案 »

  1.   

    建议LZ用模板来做1.先建立一个Excel模板,然后把它加到工程,并且把Excel的类加到工程
    2.在程序中建立模板的实例,然后填充数据,最后进行保存操作以下是建立实例并操作:
    _Application ExcelApp;
    Workbooks wbsMyBooks;
    _Workbook wbMyBook;
    Worksheets wssMysheets;
    _Worksheet wsMysheet;
    Range rgMyRge, colorRge;// Shapes m_ExcelShapes;  
    // Shape m_ExcelShape;   //利用模板文件建立新文档
    wbsMyBooks.AttachDispatch(ExcelApp.GetWorkbooks()); wbMyBook.AttachDispatch(wbsMyBooks.Add(_variant_t(szExcelPath))); //得到Worksheets
    wssMysheets.AttachDispatch(wbMyBook.GetWorksheets());
    //得到第1个工作表
    wsMysheet.AttachDispatch(wssMysheets.GetItem(_variant_t((long)1))); //得到全部Cells,此时,rgMyRge是cells的集合
    rgMyRge.AttachDispatch(wsMysheet.GetCells());
    ExcelApp.SetVisible(true);
    /***************插入数值***************/
    rgMyRge.SetItem(_variant_t((long)3), _variant_t((long)6),  _variant_t("3,6"));
    rgMyRge.SetItem(_variant_t((long)5), _variant_t((long)9),  _variant_t("5,9"));
    rgMyRge.SetItem(_variant_t((long)5), _variant_t((long)10), _variant_t("5,10"));// m_ExcelShapes.ReleaseDispatch();
    // m_ExcelShape.ReleaseDispatch();
    rgMyRge.ReleaseDispatch();     
    wsMysheet.ReleaseDispatch();     
    wssMysheets.ReleaseDispatch();     
    wbMyBook.ReleaseDispatch();     
    wbsMyBooks.ReleaseDispatch();     
    ExcelApp.ReleaseDispatch(); //释放对象指针