QT excel中添加新的表sheet

初始化excel就不寫了
方法一:在第二個位置上添加

int icount = m_pWorkSheets->property("Count").toInt();
    qDebug()<<"11142221"<<icount<<QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss.zzz");;


    QAxObject* newSheet = m_pWorkSheets->querySubObject("Add(QVariant)", m_pWorkSheet->asVariant());


    newSheet->setProperty("Name", strName);


    m_pWorkSheet->dynamicCall("Move(QVariant)", newSheet->asVariant());//因爲此處m_pWorkSheet是第一個表格呀,所以,插入的表格都是在第二個//初始化時就爲第一個
    m_pWorkSheet = newSheet;
    m_pWorkSheet->dynamicCall("Select()");//選擇當前作爲活動的sheet

方法二:在最後一個表後面添加

 int icount = m_pWorkSheets->property("Count").toInt();
    qDebug()<<"11142221"<<icount<<QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss.zzz");
   


    QAxObject *pLastSheet = m_pWorkSheets->querySubObject("Item(int)", icount);
    m_pWorkSheets->querySubObject("Add(QVariant)", pLastSheet->asVariant());
    m_pWorkSheet = m_pWorkSheets->querySubObject("Item(int)", icount);//新增的表在倒數第二個的位置上
    //將指定工作表移到工作簿的另一位置。expression.Move(Before, After)
    //舊錶中最後一個表放在新增表的前面 
    pLastSheet->dynamicCall("Move(QVariant)", m_pWorkSheet->asVariant());
    
    
    m_pWorkSheet->setProperty("Name", strName);
    
    m_pWorkBook->dynamicCall("Save()");//必須有此`

參考https://www.cnblogs.com/findumars/p/5615725.html
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章