• 7591阅读
  • 6回复

使用QAxObject获取excel的值 [复制链接]

上一主题 下一主题
离线sheath
 
只看楼主 倒序阅读 楼主  发表于: 2010-12-07
— 本帖被 XChinux 从 Qt for Windows 移动到本区(2011-01-09) —
QApplication a(argc, argv);    
QAxObject* excel = new QAxObject("Excel.Application");  
excel->setProperty("Visible", true);  
QAxObject* workbooks = excel->querySubObject("WorkBooks");  
workbooks->dynamicCall("Open (const QString&)", QString("d:\\projects\\QT\\ninja\\a.xls"));  
QAxObject* workbook = excel->querySubObject("ActiveWorkBook");  
QAxObject* worksheets = workbook->querySubObject("WorkSheets");  
   
QAxObject* worksheet = workbook->querySubObject("Worksheets(int)", 1);  
QAxObject* usedrange = worksheet->querySubObject("UsedRange");  
QAxObject* rows = usedrange->querySubObject("Rows");  
QAxObject* columns = usedrange->querySubObject("Columns");  
int intRowStart = usedrange->property("Row").toInt();  
int intColStart = usedrange->property("Column").toInt();  
int intCols = columns->property("Count").toInt();  
int intRows = rows->property("Count").toInt();  
for (int i = intRowStart; i < intRowStart + intRows; i++)  
{  
for (int j = intColStart; j < intColStart + intCols; j++)  
{  
QAxObject * range = worksheet->querySubObject("Cells(int,int)", i, j );  
qDebug() << i << j << range->property("Value");  
}  
}  
excel->setProperty("DisplayAlerts", 0);
workbook->dynamicCall("Save(void)");
workbook->dynamicCall("Close (Boolean)", false); 
excel->setProperty("DisplayAlerts",1);


delete excel;


myxls w;
w.show();
return a.exec();








完整代码就是这样了.上面的代码基本没什么问题.就是
qDebug() << i << j << range->property("Value");  
这里获取不到内容.输出的结果是1 1 QVariant(QVariant, )  .我装的是office2010.觉得应该不是office的问题.求解答
离线0354030w

只看该作者 1楼 发表于: 2010-12-14
我想请问一下楼主,EXCEL中 Row Columns等这些属性和函数是如何得到的?
离线0354030w

只看该作者 2楼 发表于: 2010-12-14
查了下手册终于明白了,调用一下generateDocumentation()行了!
离线duduqq

只看该作者 3楼 发表于: 2010-12-29
想问一下楼主,怎样用QAxObject来打开一个WORD文档,并把WORD文档的内容显示到界面上来。
离线ff007bit
只看该作者 4楼 发表于: 2011-01-15
楼主~问一下,我遇到了和你一样的问题,请问一下是怎么解决的?
离线hgl2073
只看该作者 5楼 发表于: 2011-02-26
回 2楼(0354030w) 的帖子
请问查什么手册?
离线hgl2073
只看该作者 6楼 发表于: 2011-02-26
回 楼主(sheath) 的帖子
坐等答案~~~同样需要
快速回复
限100 字节
 
上一个 下一个