本帖最后由 zhoujiajie0521 于 2012-04-13 17:50:06 编辑

解决方案 »

  1.   

    pThisRange=pThisWorksheet->GetRange(_variant_t("AA1"),_variant_t("AA1"));
    pThisRange->PutValue(_variant_t((long)Excel::xlRangeValueDefault),_variant_t("test"));这样使用没问题
    s1.Format("A%c%d",'A'+i,nn);
      

  2.   

    EXCEL行列坐标与字符串的相互转换 
      

  3.   

    怎么我的没PutValue这个函数呢?要加哪个类或者文件
      

  4.   

    s1.Format("A%c%d",'A',nn);
    objRange1=objSheet.GetRange(_variant_t(s1),_variant_t(s1));
    s=sa.GetAt(26);
    objRange1.SetFormulaR1C1(_variant_t(s));
    /////////////////////////
    现在用的是上面几行代码,还是不行。
      

  5.   


    _Application appExcel;
    Workbooks workBooks;
    _Workbook workBook;
    _Worksheet workSheet;
    Range rangeWork, rangeDel, rangSunday;
    COleVariant covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR); if(!appExcel.CreateDispatch(_T("Excel.Application")) )
    {
    this->MessageBox(_T("无法启动Excel,可能并未安装!"));
    return;
    }
    appExcel.SetVisible(TRUE);
    appExcel.SetUserControl(TRUE); workBooks = appExcel.GetWorkbooks();
    workBook = workBooks.Add(test.xls); workSheet = workBook.GetActiveSheet();
    rangeWork = workSheet.GetCells();通过这种方式获取到rangeWork
    然后可以通过SetItem设置单元格内容
    和操作数组类似
    例如
    rangeWork.SetItem(COleVariant(4L), COleVariant(28L), COleVariant(_T("test"));
      

  6.   

    异常:
    vcexcel.exe 中的 0x7c812afb 处最可能的异常: Microsoft C++ 异常: 内存位置 0x0012d8a8 处的 COleDispatchException。
      

  7.   

    第一行插入字段名的时候就出错了
    ///////////////////////////
    for(int n=0;n<nFieldcnt;n++,cc++)
    {  
    /*将字段名作为标题导出到execl的第一行*/
    rs.GetODBCFieldInfo(n, fieldinfo);
        objRange1.SetHorizontalAlignment(varCenter);
        objRange1.SetVerticalAlignment(varCenter);
        oFont=objRange1.GetFont();
        oFont.SetBold(_variant_t((long)1));//设为粗体
        objRange1.SetColumnWidth(_variant_t("20"));
    objRange1.SetItem(_variant_t((long)1),_variant_t((long)n),_variant_t(fieldinfo.m_strName));
         objBorders=objRange1.GetBorders();
        objBorders.SetLineStyle(_variant_t((long)1));
    }
      

  8.   

    谢谢哈,方法可行,现在数据能导出来了,不过还漏了第一行的字段名
    objRange1.SetItem(_variant_t(long(1)),_variant_t(long(cc)),_variant_t(fieldinfo.m_strName));这一句没能把字段名显示出来
      

  9.   

    objRange1.SetItem(_variant_t(long(1)),_variant_t(long(cc)),_variant_t(fieldinfo.m_strName));
    cc是变量?
    方法是一样的
    你再调试看看吧
      

  10.   

    而且调用excel表格出来后还会弹出错误消息框:内部应用程序错误!