qt/LedOK/base/qexcel.h
2022-08-25 18:37:24 +08:00

83 lines
3.1 KiB
C++

#ifndef QEXCEL_H
#define QEXCEL_H
#include <QString>
#include <QVariant>
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