Qt 源码之 Qt 操作 Excel,通过几个简单的操作为大家讲解有关Qt 中Excel的操作。先来看内容。

Qt 源码之 Qt 操作 Excel是本文丫介绍的内容,先来看内容:QAxWidget Excel("Excel.Application");

Qt 源码之 操作 Excel(qt的源码)  Excel 第1张

1、显示当前窗口:

excel.setProperty("Visible", true);

2、更改 Excel 标题栏:

excel.setProperty("Caption", "Invoke Microsoft Excel");

3、添加新工作簿:

QAxObject * workbooks = excel.querySubObject("WorkBooks");

workbooks->dynamicCall("Add");

4、打开已存在的工作簿:

workbooks->dynamicCall("Open (const QString&)", QString("c:/test.xls"));

5、获取活动工作簿:

QAxObject * workbook = excel.querySubObject("ActiveWorkBook");

6、获取所有的工作表:

QAxObject * worksheets = workbook->querySubObject("WorkSheets");

7、获取工作表数量:

int intCount = worksheets->property("Count").toInt();

8、获取***个工作表:

QAxObject * worksheet = workbook->querySubObject("Worksheets(int)", 1);

9、获取cell的值:

QAxObject * range = worksheet->querySubObject("Cells(int,int)", 1, 1 );

示例代码:

  1. viewplaincopytoclipboardprint?
  2. #include<QtGui>
  3. #include<QAxObject>
  4. #include<QAxWidget>
  5. #include<qaxselect.h>
  6. intmain(intargc,char**argv)
  7. {
  8. QApplicationa(argc,argv);
  9. QAxSelectselect;
  10. select.show();
  11. QAxWidgetexcel("Excel.Application");
  12. excel.setProperty("Visible",true);
  13. QAxObject*workbooks=excel.querySubObject("WorkBooks");
  14. workbooks->dynamicCall("Open(constQString&)",QString("c:/test.xls"));
  15. QAxObject*workbook=excel.querySubObject("ActiveWorkBook");
  16. QAxObject*worksheets=workbook->querySubObject("WorkSheets");
  17. intintCount=worksheets->property("Count").toInt();
  18. for(inti=1;i<=intCount;i++)
  19. {
  20. intintVal;
  21. QAxObject*worksheet=workbook->querySubObject("Worksheets(int)",i);
  22. qDebug()<<i<<worksheet->property("Name").toString();
  23. QAxObject*range=worksheet->querySubObject("Cells(1,1)");
  24. intVal=range->property("Value").toInt();
  25. range->setProperty("Value",QVariant(intVal+1));
  26. QAxObject*range2=worksheet->querySubObject("Range(C1)");
  27. intVal=range2->property("Value").toInt();
  28. range2->setProperty("Value",QVariant(intVal+1));
  29. }
  30. QAxObject*worksheet=workbook->querySubObject("Worksheets(int)",1);
  31. QAxObject*usedrange=worksheet->querySubObject("UsedRange");
  32. QAxObject*rows=usedrange->querySubObject("Rows");
  33. QAxObject*columns=usedrange->querySubObject("Columns");
  34. intintRowStart=usedrange->property("Row").toInt();
  35. intintColStart=usedrange->property("Column").toInt();
  36. intintCols=columns->property("Count").toInt();
  37. intintRows=rows->property("Count").toInt();
  38. for(inti=intRowStart;i<intRowStart+intRows;i++)
  39. {
  40. for(intj=intColStart;j<=intColStart+intCols;j++)
  41. {
  42. QAxObject*range=worksheet->querySubObject("Cells(int,int)",i,j);
  43. qDebug()<<i<<j<<range->property("Value");
  44. }
  45. }
  46. excel.setProperty("DisplayAlerts",0);
  47. workbook->dynamicCall("SaveAs(constQString&)",QString("c:/xlsbyqt.xls"));
  48. excel.setProperty("DisplayAlerts",1);
  49. workbook->dynamicCall("Close(Boolean)",false);
  50. excel.dynamicCall("Quit(void)");
  51. returna.exec();
  52. }

小结:Qt 源码之 Qt 操作 Excel的内容介绍完了,希望本文对你有所帮助,原文来自: http://blog.csdn.net/tingsking18/archive/2010/06/18/5677353.aspx

转载请说明出处
知优网 » Qt 源码之 Qt 操作 Excel(qt的源码)

发表评论

您需要后才能发表评论