#ifndef QEXCEL_H #define QEXCEL_H #include #include class QAxObject; class QExcel : public QObject { public: QExcel(QString xlsFilePath, QObject *parent = 0); ~QExcel(); public: QAxObject * getWorkBooks(); QAxObject * getWorkBook(); QAxObject * getWorkSheets(); QAxObject * getWorkSheet(); int m_bSupportExcel=false; public: /**************************************************************************/ /* 工作表 */ /**************************************************************************/ void selectSheet(const QString& sheetName); //sheetIndex 起始于 1 void selectSheet(int sheetIndex); void deleteSheet(const QString& sheetName); void deleteSheet(int sheetIndex); void insertSheet(QString sheetName); int getSheetsCount(); //在 selectSheet() 之后才可调用 QString getSheetName(); QString getSheetName(int sheetIndex); /**************************************************************************/ /* 单元格 */ /**************************************************************************/ void setCellString(int row, int column, const QString& value); //cell 例如 "A7" void setCellString(const QString& cell, const QString& value); //range 例如 "A5:C7" void mergeCells(const QString& range); void mergeCells(int topLeftRow, int topLeftColumn, int bottomRightRow, int bottomRightColumn); QVariant getCellValue(int row, int column); void clearCell(int row, int column); void clearCell(const QString& cell); /**************************************************************************/ /* 布局格式 */ /**************************************************************************/ void getUsedRange(int *topLeftRow, int *topLeftColumn, int *bottomRightRow, int *bottomRightColumn); void setColumnWidth(int column, int width); void setRowHeight(int row, int height); void setCellTextCenter(int row, int column); void setCellTextCenter(const QString& cell); void setCellTextWrap(int row, int column, bool isWrap); void setCellTextWrap(const QString& cell, bool isWrap); void setAutoFitRow(int row); void mergeSerialSameCellsInAColumn(int column, int topRow); int getUsedRowsCount(); void setCellFontBold(int row, int column, bool isBold); void setCellFontBold(const QString& cell, bool isBold); void setCellFontSize(int row, int column, int size); void setCellFontSize(const QString& cell, int size); /**************************************************************************/ /* 文件 */ /**************************************************************************/ void save(); void close(); private: QAxObject * excel; QAxObject * workBooks; QAxObject * workBook; QAxObject * sheets; QAxObject * sheet; }; #endif