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));
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章