龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > VC开发 >

VC中对office的操作(4)

时间:2009-12-30 15:42来源:未知 作者:admin 点击:
分享到:
void ExcelTable(CString tablename, int rowNum, int colNum, StrVecVecType tablestr, CString strOutExcelFile) ...{ //using namespace excel9; int i,j; excel9::_Application app; excel9::_Workbook wbook; e

void ExcelTable(CString tablename,
                int rowNum,
                int colNum,
                StrVecVecType& tablestr,
                CString strOutExcelFile)
...{
    //using namespace excel9;
    int i,j;
    excel9::_Application app;
    excel9::_Workbook wbook;
    excel9::Workbooks wbooks;
    excel9::Worksheets sheets;
    excel9::_Worksheet sheet;
    excel9::Range range;
    excel9::Range iCell;
    //Range unionRange;
    //LPDISPATCH lpDisp;
    //COleVariant vResult;   
    COleVariant
        covTrue((short)TRUE),
        covFalse((short)FALSE),
        covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);

    if(!app.CreateDispatch("Excel.Application"))
    ...{
        AfxMessageBox ("create excel faild!");
        return;
    }

    //app.SetVisible(TRUE);
    wbooks = app.GetWorkbooks();
    wbook = wbooks.Add(covOptional);

    //AfxMessageBox("");
    sheets = wbook.GetSheets();
    sheet = sheets.GetItem(COleVariant((short)1));
    range.AttachDispatch(sheet.GetCells());

    long iStartCol = 1; //使用区域的起始列,从1开始
    long iStartRow = 1; //使用区域的起始行,从1开始
    int iMaxCol = 6;

    // 单元格样式设置(居中)
    COleVariant varH, varV, varInfo;
    varH.vt = VT_I2;
    varV.vt = VT_I2;
    varH.iVal = -4108;
    varV.iVal = -4108;
    range.SetHorizontalAlignment (varH);
    range.SetVerticalAlignment(varV);

    //最大化文档
    excel9::Window win;
    win = app.GetActiveWindow();
    win.SetWindowState(-4137);

精彩图集

赞助商链接