QT excel中添加新的表sheet
程序员文章站
2024-03-17 19:43:22
...
初始化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
下一篇: 【查找】二分查找