Qt Excel操作——QAxobject

使用Qt做客戶端時,經常會用到統計表格的場景,剛開始從網上也是找代碼,不過都是結合QTableModelde的,大段大段代碼,雖然簡單,但是通用性不強,每次都要大段考過去,改一點點。用多了自己摸索一點點改,現在封裝成一個類,像Qt自帶的table一樣,使用方便, WPS測試有時支持有時不支持,還不清楚什麼問題。下載鏈接:https://download.csdn.net/download/qq_36774575/11851114
相關接口如下:

 //創建新文件或是打開文件
    void openFile(QString file);
    //關閉文件,停止操作文件
    void closEngine();

    /*******從Excel中取數據*******/
    //獲取行列數
    void getExcelRowColumnCount(int *rowCount, int *columnCount);
    //獲取數據,合併單元格部分未做處理,爲空
    QVariant getRowsDatas(int rowStart, int columnStart, int rowEnd, int columnEnd);

    //考慮合併單元格的部分內容,以左上角內容填充
    QVariant getMergedRowsDatas(int rowStart, int columnStart, int rowEnd, int columnEnd);

    //在表格中前兩列中查找字符串,返回找到的字符串所在行列
    bool findText(QString text, int *row, int *column);
    //獲取表格中合併單元格部分
    QList<MergeRange> getMergedRanges();

    /*******向Excel中寫數據*******/
    void clearExcel();

    //填充數據
    void insertData(int rowStart, int columnStart, int rowEnd, int columnEnd, QVariant var);
    //設置標題
    void setTitle(QString title, int rowStart = 1, int columnStart = 1, int rowEnd = 1, bool merge = true);

    //設置字體大小
    void setFontSize(int rowStart, int columnStart, int rowEnd, int columnEnd, int fonnSize);

    //設置列表頭
    void setColumnsTitle(int row, int startColumn, QVariant titles);
    void setColumnTitle(int row, int column, QString columnTitle);
    //設置列數
    void setColumnCount(int count);
    //設置默認列寬度 需要先設置列數
    void setDefaultColumnWidth(int width);
    //設置列寬度 需要先設置列數
    bool setColumnWidth(int column, int width);

    void setColumnFormat(int rowStart, int columnStart, int rowEnd, int columnEnd, QString format, int dataFormat = 0);
    //單元格合併
    void setRangeMerged(int rowStart, int columnStart, int rowEnd, int columnEnd, bool merge);
    
    //調整行高度
    void setDefaultRowHeight(int height);
    void setRowHeight(int row, int height);
    //設置區域邊框
    void setRangeBorder(int rowStart, int columnStart, int rowEnd, int columnEnd, QColor color = QColor(0,0,0));
    //設置區域字體顏色
    void setRangeTextColor(int rowStart, int columnStart, int rowEnd, int columnEnd, QColor color = QColor(0,0,0));
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章