Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. QAxObject and Excel Save as CSV
Forum Updated to NodeBB v4.3 + New Features

QAxObject and Excel Save as CSV

Scheduled Pinned Locked Moved Solved General and Desktop
8 Posts 3 Posters 4.5k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • P Offline
    P Offline
    pyuxing
    wrote on 5 Apr 2018, 04:52 last edited by
    #1
        QAxObject excel("Excel.Application");
        excel.setProperty("Visible", true);    
        QAxObject * workBooks = excel.querySubObject("WorkBooks");
        workBooks->dynamicCall("Open(const QString&)", QString("F:/ExcelAction/test.xlsx"));
        workBooks->dynamicCall("SaveAs(const QString&)", QString("./test2018.csv"));
        workBooks->dynamicCall("Close (Boolean)", false); 
        excel.dynamicCall("Quit(void)");
    

    when running it,the output warning showed below :

    QAxBase::dynamicCallHelper: SaveAs(QString): No such property in  [unknown]
    	Candidates are:
    QAxBase: Error calling IDispatch member Close: Unknown error
    

    Anyone know the bug 's solutions thanks !

    D 1 Reply Last reply 5 Apr 2018, 05:49
    0
    • P pyuxing
      5 Apr 2018, 04:52
          QAxObject excel("Excel.Application");
          excel.setProperty("Visible", true);    
          QAxObject * workBooks = excel.querySubObject("WorkBooks");
          workBooks->dynamicCall("Open(const QString&)", QString("F:/ExcelAction/test.xlsx"));
          workBooks->dynamicCall("SaveAs(const QString&)", QString("./test2018.csv"));
          workBooks->dynamicCall("Close (Boolean)", false); 
          excel.dynamicCall("Quit(void)");
      

      when running it,the output warning showed below :

      QAxBase::dynamicCallHelper: SaveAs(QString): No such property in  [unknown]
      	Candidates are:
      QAxBase: Error calling IDispatch member Close: Unknown error
      

      Anyone know the bug 's solutions thanks !

      D Offline
      D Offline
      Devopia53
      wrote on 5 Apr 2018, 05:49 last edited by Devopia53 4 May 2018, 11:27
      #2

      @pyuxing

      like this:

      QAxObject   *workbook = workBooks->querySubObject("Open(const QString&)", QString("F:/ExcelAction/test.xlsx"));
      workbook->dynamicCall("SaveAs(const QString&, int)", QDir::toNativeSeparators("./test2018.csv"), 6); // 6 = XlFileFormat::xlCSV
      
      P 2 Replies Last reply 11 Apr 2018, 03:40
      2
      • D Devopia53
        5 Apr 2018, 05:49

        @pyuxing

        like this:

        QAxObject   *workbook = workBooks->querySubObject("Open(const QString&)", QString("F:/ExcelAction/test.xlsx"));
        workbook->dynamicCall("SaveAs(const QString&, int)", QDir::toNativeSeparators("./test2018.csv"), 6); // 6 = XlFileFormat::xlCSV
        
        P Offline
        P Offline
        pyuxing
        wrote on 11 Apr 2018, 03:40 last edited by
        #3

        @Devopia53 Thanks for your reply !
        I have done as you said ,but there is problem as before.

        QAxBase::dynamicCallHelper: Save(QString,int): No such property in  [unknown]
        	Candidates are:
        QAxBase: Error calling IDispatch member Close: Unknown error
        
        J 1 Reply Last reply 11 Apr 2018, 04:27
        0
        • D Devopia53
          5 Apr 2018, 05:49

          @pyuxing

          like this:

          QAxObject   *workbook = workBooks->querySubObject("Open(const QString&)", QString("F:/ExcelAction/test.xlsx"));
          workbook->dynamicCall("SaveAs(const QString&, int)", QDir::toNativeSeparators("./test2018.csv"), 6); // 6 = XlFileFormat::xlCSV
          
          P Offline
          P Offline
          pyuxing
          wrote on 11 Apr 2018, 03:58 last edited by
          #4

          The code was showed below:

          int main(int argc, char *argv[])
          {
             // QCoreApplication a(argc, argv);
              QApplication a(argc, argv);
              CoInitializeEx(NULL, COINIT_MULTITHREADED);
              QAxObject excel("Excel.Application");
              excel.setProperty("Visible", false);  
              QAxObject * workBooks = excel.querySubObject("WorkBooks");
              workBooks->dynamicCall("Open(const QString&)", QString("F:/ExcelAction/test2018.xlsx"));
              QVariant titleValue = excel.property("Caption");    
              qDebug() << "excel title : " << titleValue;
              QAxObject * workBook = excel.querySubObject("ActiveWorkBook");
              QAxObject * workSheets = workBook->querySubObject("Sheets");    
          
              //QVariant returnValue;
              workBooks->dynamicCall("SaveAS(const QString&, int)", QDir::toNativeSeparators("F:\ExcelAction\test2018.csv"), 6);
          
              workBooks->dynamicCall("Close (Boolean)", false);
              excel.dynamicCall("Quit(void)");
              return a.exec();
          }
          
          1 Reply Last reply
          0
          • P pyuxing
            11 Apr 2018, 03:40

            @Devopia53 Thanks for your reply !
            I have done as you said ,but there is problem as before.

            QAxBase::dynamicCallHelper: Save(QString,int): No such property in  [unknown]
            	Candidates are:
            QAxBase: Error calling IDispatch member Close: Unknown error
            
            J Offline
            J Offline
            jsulm
            Lifetime Qt Champion
            wrote on 11 Apr 2018, 04:27 last edited by
            #5

            @pyuxing What about SaveAs(QString,int) as @Devopia53 showed?

            https://forum.qt.io/topic/113070/qt-code-of-conduct

            P 1 Reply Last reply 11 Apr 2018, 04:40
            0
            • J jsulm
              11 Apr 2018, 04:27

              @pyuxing What about SaveAs(QString,int) as @Devopia53 showed?

              P Offline
              P Offline
              pyuxing
              wrote on 11 Apr 2018, 04:40 last edited by
              #6

              @jsulm
              like this:

              QAxBase::dynamicCallHelper: SaveAS(QString&,int): No such property in  [unknown]
              	Candidates are:
              QAxBase: Error calling IDispatch member Close: Unknown error
              
              D 1 Reply Last reply 11 Apr 2018, 05:16
              0
              • P pyuxing
                11 Apr 2018, 04:40

                @jsulm
                like this:

                QAxBase::dynamicCallHelper: SaveAS(QString&,int): No such property in  [unknown]
                	Candidates are:
                QAxBase: Error calling IDispatch member Close: Unknown error
                
                D Offline
                D Offline
                Devopia53
                wrote on 11 Apr 2018, 05:16 last edited by
                #7

                @pyuxing

                Method Open() and Close() are defined in the WorkBooks object.
                Method Save() and SaveAs() are defined in the WorkBook object.

                P 1 Reply Last reply 11 Apr 2018, 13:53
                1
                • D Devopia53
                  11 Apr 2018, 05:16

                  @pyuxing

                  Method Open() and Close() are defined in the WorkBooks object.
                  Method Save() and SaveAs() are defined in the WorkBook object.

                  P Offline
                  P Offline
                  pyuxing
                  wrote on 11 Apr 2018, 13:53 last edited by
                  #8

                  @Devopia53
                  Thanks a lot,with your help I have solved the problem now.

                  1 Reply Last reply
                  0

                  1/8

                  5 Apr 2018, 04:52

                  • Login

                  • Login or register to search.
                  1 out of 8
                  • First post
                    1/8
                    Last post
                  0
                  • Categories
                  • Recent
                  • Tags
                  • Popular
                  • Users
                  • Groups
                  • Search
                  • Get Qt Extensions
                  • Unsolved