通过百度,大概了解到需要通过ActiveX来操作Excel。
尽管并不清楚其原理,但我仍然通过结合网上示例成功读取出Excel内容,以下是代码片段:
excel = new QAxWidget("Excel.Application");
workbooks = excel->querySubObject("WorkBooks");
workbooks->dynamicCall("Open (const QString&)", source);
workbook = excel->querySubObject("ActiveWorkBook");
worksheets = workbook->querySubObject("WorkSheets");
worksheet = workbook->querySubObject("Worksheets(int)", 1);
usedrange = worksheet->querySubObject("UsedRange");
rows = usedrange->querySubObject("Rows");
......
range = worksheet->querySubObject("Cells(int,int)", i, answerCol);
answer = range->property("Value").toString();
workbook->dynamicCall("Close (Boolean)", false);
excel->dynamicCall("Quit (void)");
后来我需要写入Excel,但是在这个过程卡住了,费了很大力气找到一个示例:
worksheets->querySubObject("Add()");
通过上下文知道这个是“新建工作表”
但是,我需要删除工作表,重命名工作表该怎么做呢?
或者说,除了Add()之外,还有哪些函数可以供我调用呢?从哪里可以获得这些函数列表?再后来看到XChinux所说,通过录制宏,我得倒了“新建Sheet”“重命名Sheet”的宏代码:
Sheets.Add After:=Sheets(Sheets.Count)
Sheets("Sheet4").Select
Sheets("Sheet4").Name = "abc"
请问这之后我该怎样在Qt中调用呢?恳请各位指导