操作Excel
前面提过,使用QtAxContainer打开Excel,以及获取Excel的属性、页数、内容等,又跟Word、PowerPoint不一样。
打开Excel
对于Excel来说,打开的应用是"Excel.Application",Application中每个Excel文档叫做Workbook,而操作Workbook的列表理所当然,叫做Workbooks。
于是,从开头到能够操作一个具体的Excel文档,也需要经过三个“东西”:Excel.Application、Workbooks、Workbook。
即:
// 为演示方便,下述代码没有进行错误处理以及资源清理
QVariant
loadExcel (const QString &filename)
{
auto application = new QAxObject ("Excel.Application");
application->setProperty ("Visible", false);
auto books = application->querySubObject ("Workbooks");
auto book = books->querySubObject (
"Open(const QString&)", qname);
return book;
}
取得Excel工作表数
Excel的工作表列表,在Workbook里对应的名词叫做Sheets(Sheets里包含Chart与Worksheet两种子对象),可以取得Sheets的数量当成表的数量。
int
excelPageSum (QVariant book)
{
auto sheets = book->querySubObject ("Sheets");
auto c