Excel MyExcel

¿¢¼¿ AutomationÀ» »ç¿ëÇÏ¿© ³×ÀÌƼºê C++¿¡¼­ ¿¢¼¿¿¡ Á¢±ÙÇؼ­ °ªÀ» Àаí ÀúÀå Çغ¸ÀÚ.

C++¿¡¼­ ¿¢¼¿À» Á¶ÀÛÇÒ ¼ö Àִ Ŭ·¡½º¸¦ ¸¸µé¾î º¸¾Ò´Ù. ¿¢¼¿À» Á¦¾îÇÏ´Â ±âº»ÀûÀÎ ÀÌ·ÐÀº excel_test.htmlÀ» Âü°íÇÑ´Ù.

¾Æ·¡´Â MyClass Çì´õÀÇ ÀϺÎÀÌ´Ù.

class MyExcel

{

public:

    MyExcel();

    ~MyExcel();

 

    bool    Load( const char* szFileName );

    bool    Save();

    bool    SaveAs( const char* szFileName );

    StringBoolTable& GetTable()

    {

        return m_table;

    }

 

protected:

    StringBoolTable    m_table;

    std::string        m_szFileName;

};

Load( )·Î ¿¢¼¿ ÆÄÀÏÀ» ·ÎµùÈÄ, Save( )³ª  SaveAs( )·Î ÀúÀåÇÑ´Ù. m_tableÀº ¿¢¼¿¿¡¼­ ·ÎµùÇÑ µ¥ÀÌÅ͸¦ º¸°üÇÏ°í ÀÖ´Ù. StringBoolTableÀº m_table¿¡¼­ ¼öÁ¤ÀÌ °¡ÇØÁö¸é  bDirty Ç÷¡±×¸¦ true·Î ¼ÂÆÃÇÑ´Ù.

½ÇÁ¦ »ç¿ë¿¹´Â ¾Æ·¡¿Í °°´Ù.

int _tmain(int argc, _TCHAR* argv[])

{

    //TestExcel();

 

    MyExcel excel;

    if( excel.Load( GetFullPath( "test.xlsx" ).c_str() ) )

    {

        StringBoolTable& table = excel.GetTable();

        table.IncRow();

        //ÀԷ°ªÀÌ -1ÀÌ¸é ¸¶Áö¸· Çà¿¡ ÀÔ·Â, ¿¢¼¿ ¹æ½ÄÀ¸·Î ÀúÀåÀ» À§ÇØ -1¾¿ ´õÇØÁÜ

        table.Set( -1, 4-1, "¿¢¼¿ Å×½ºÆ®", true );

    }

 

    excel.SaveAs( GetFullPath( "test_1.csv" ).c_str() );

    excel.SaveAs( GetFullPath( "test_2.xls" ).c_str() );

    excel.SaveAs( GetFullPath( "test_3.xlsx" ).c_str() );

    return 0;

}

table.IncRow( )´Â ¸¶Áö¸· ÇàÀÇ °ªÀ» Áõ°¡ ½ÃŲ´Ù.

°ªÀ» ¼öÁ¤ ÇÒ·Á¸é table.Set( ) ¸Þ½îµå¸¦ ÀÌ¿ëÇؼ­ °ªÀ» ³Ö´Â´Ù.

table.Set( )¿¡¼­ ¿¢¼¿ Çà°ú ¿­ÀÇ ¼ýÀÚº¸´Ù -1¾¿ ´õÇؼ­ ÀÔ·ÂÇÑ´Ù. ¿¢¼¿Àº 1ºÎÅÍ ½ÃÀÛÇÏÁö¸¸, C++Àº 0ºÎÅÍ ½ÃÀÛÇϱ⠶§¹®ÀÌ´Ù.  ÀԷ°ªÀÌ -1À̸é, ¸¶Áö¸· ÇàÀÇ °ªÀ» »ç¿ëÇÑ´Ù.

ÇöÀç Áö¿øµÇ´Â È®ÀåÀÚ´Â 3°¡Áö¸¸ Áö¿ø  Çϵµ·Ï ¸¸µé¾ú´Ù.

ÇÁ·ÎÁ§Æ® : Excel_MyExcel.zip