您的位置:首页 > 编程语言 > Qt开发

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

2015-11-26 22:30 579 查看
//将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()");//保存文件
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: