目前通过VS2010可以正确读写excel,但是excle表格中有几行数据是需要设置表格高度和字体的
找到了CRange类的 AutoFormat函数,但是试验多次,没有找到行高的和字体的设置方法,是我参数用错了?还是有别的其他函数
VARIANT AutoFormat(long Format, VARIANT& Number, VARIANT& Font, VARIANT& Alignment, VARIANT& Border, VARIANT& Pattern, VARIANT& Width)

解决方案 »

  1.   

    这CSDN要黄摊了吧?
      

  2.   

    录制宏  手动操作 EXCEL ,停止录制,  然后编辑宏, 按宏代码修改
      

  3.   

    以前写的一个类,参考下把
    BOOL CExcelOperations::SetCellFont(LPCTSTR strFont)
    {
    try
    {
    if( !GetCellFont() )
    return FALSE; m_font.put_Name(COleVariant(strFont));
    }
    catch (...)
    {
    return FALSE;
    } return TRUE;
    }BOOL CExcelOperations::SetAutoFitWidth(void)
    {
    try
    {
    m_range.AttachDispatch( m_sheet.get_Cells(), TRUE );
    m_range = m_range.get_EntireColumn();
    m_range.AutoFit();
    }
    catch (...)
    {
    return FALSE;
    } return TRUE;
    }BOOL CExcelOperations::SetBorders(LPCTSTR strLeftUp, LPCTSTR strRightDown, short siLineStyle)
    {
    try
    {
    m_range = m_sheet.get_Range(COleVariant(strLeftUp),COleVariant(strRightDown));
    m_borders = m_range.get_Borders();
    m_borders.put_LineStyle(COleVariant((short)siLineStyle));
    }
    catch (...)
    {
    return FALSE;
    } return TRUE;
    }BOOL CExcelOperations::SetVerticalAlignment(LONG lAlignment)
    {
    try
    {
    m_range.put_VerticalAlignment(COleVariant((LONG)lAlignment));
    }
    catch (...)
    {
    return FALSE;
    } return TRUE;
    }BOOL CExcelOperations::SetHorizontalAlignment(LONG lAlignment)
    {
    try
    {
    m_range.put_HorizontalAlignment(COleVariant((LONG)lAlignment));
    }
    catch (...)
    {
    return FALSE;
    } return TRUE;
    }BOOL CExcelOperations::SetColumnWidth(LONG lWidth)
    {
    try
    {
    m_cell.put_ColumnWidth(COleVariant((LONG)lWidth));
    }
    catch (...)
    {
    return FALSE;
    } return TRUE;
    }BOOL CExcelOperations::SetRowHeight(LONG lHeight)
    {
    try
    {
    m_cell.put_RowHeight(COleVariant((LONG)lHeight));
    }
    catch (...)
    {
    return FALSE;
    } return TRUE;
    }BOOL CExcelOperations::SetFontSize(LONG lSize)
    {
    try
    {
    if( !GetCellFont() )
    return FALSE; m_font.put_Size(COleVariant((LONG)lSize));
    }
    catch (...)
    {
    return FALSE;
    } return TRUE;
    }BOOL CExcelOperations::SetCellColor(BYTE bRed, BYTE bGreen, BYTE bBlue)
    {
    try
    {
    if( !GetCellFont() )
    return FALSE; m_font.put_Color(COleVariant((LONG)RGB(bRed, bGreen, bBlue)));
    }
    catch (...)
    {
    return FALSE;
    } return TRUE;
    }BOOL CExcelOperations::SetCellBold(BOOL bBoolean)
    {
    try
    {
    if( !GetCellFont() )
    return FALSE; m_font.put_Bold(COleVariant((short)bBoolean));
    }
    catch (...)
    {
    return FALSE;
    } return TRUE;
    }
      

  4.   

    CRange m_cell; //µ¥Ôª¸ñ
    CRange m_range; //ÇøÓò
    CWorksheet m_sheet; //¹¤×÷±í
    CWorksheets m_sheets; //¹¤×÷±í¼¯ºÏ
    CComment m_comment; //Åú×¢ CWorkbook m_book; //¹¤×÷²¾
    CWorkbooks m_books; //¹¤×÷²¾¼¯ºÏ
    CApplication m_app; //excel½ø³Ì CFont0 m_font; //×ÖÌå
    CBorders m_borders; //±í¸ñBOOL CExcelOperations::GetCellFont(void)
    {
    try
    {
    m_font = m_cell.get_Font();
    }
    catch (...)
    {
    return FALSE;
    } return TRUE;
    }