Qt 将excel表添加到另一个表后面

//将test4中表1的内容填进test3表1中,接在已有内容后面。在.pro文件中添加QT += axcontainer ,在.h文件中#include<QAxObject>
    //第一个test3
    QAxObject excel3("Excel.Application");
    excel3.setProperty("Visible",true);
    QAxObject *workbook3 = excel3.querySubObject("WorkBooks");
    workbook3->dynamicCall("Open(const QString&)","D:\\test3.xlsx");
    QAxObject *work_book3;
    QAxObject *work_sheets3;
    QAxObject *work_sheet3;
    QAxObject *used_range3;
    QAxObject *rows3;
    QAxObject *column3;
    QAxObject *cell3;
    work_book3 = excel3.querySubObject("ActiveWorkBook");
    work_sheets3 = work_book3->querySubObject("Sheets");
    work_sheet3 = work_book3->querySubObject("Sheets(int)",1);
    used_range3 = work_sheet3->querySubObject("UsedRange");
    rows3 = used_range3->querySubObject("Rows");
    column3 = used_range3->querySubObject("Columns");
    int row_start3 = used_range3->property("Row").toInt();
    int row_count3 = rows3->property("Count").toInt();
 
 
    //第二个test4
    QAxObject excel4("Excel.Application");
    excel4.setProperty("Visible",true);
    QAxObject *workbook4 = excel4.querySubObject("WorkBooks");
    workbook4->dynamicCall("Open(const QString&)","D:\\test4.xlsx");
    QAxObject *work_book4;
    QAxObject *work_sheets4;
    QAxObject *work_sheet4;
    QAxObject *used_range4;
    QAxObject *rows4;
    QAxObject *column4;
    QAxObject *cell4;
    QVariant cell_value4;
    work_book4 = excel4.querySubObject("ActiveWorkBook");
    work_sheets4 = work_book4->querySubObject("Sheets");
    work_sheet4 = work_book4->querySubObject("Sheets(int)",1);
    used_range4 = work_sheet4->querySubObject("UsedRange");
    rows4 = used_range4->querySubObject("Rows");
    column4 = used_range4->querySubObject("Columns");
    int row_start4 = used_range4->property("Row").toInt();
    int column_start4 = used_range4->property("Column").toInt();
    int row_count4 = rows4->property("Count").toInt();
    int column_count = column4->property("Count").toInt();
 
 
    //用循环完成复制
    for(int i=row_start4;i<row_start4+row_count4;i++){
 
 
        for(int j=column_start4;j<column_start4+column_count;j++){
 
 
            cell4 = work_sheet4->querySubObject("Cells(int,int)",i,j);//获取单元格
            cell_value4 = cell4->property("Value");//获取单元格内容
            //获取单元格,注意是原有行的下一行
            cell3 = work_sheet3->querySubObject("Cells(int,int)",i+row_start3+row_count3-1,j);
            cell3->setProperty("Value",cell_value4);
 
 
        }
    }
    work_book3->dynamicCall("Save()");//保存文件

转载于:https://www.cnblogs.com/littleqt/p/4999249.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值