qt/LedOK/base/readexcel.h

79 lines
1.6 KiB
C
Raw Normal View History

2022-01-04 18:11:48 +08:00
#ifndef READEXCEL_H
#define READEXCEL_H
#include <map>
#include <string>
#include <vector>
#include <iostream>
#include <QAxObject>
#include <QString>
#include <QFile>
class Position
{
public:
Position() {
m_row = 0;
m_col = 0;
}
Position(int row, int col) {
m_row = row;
m_col = col;
}
public:
int m_row;
int m_col;
public:
bool operator<(const Position & ct) const // 两个const是必需的。
{
if (m_row < ct.m_row) {
return true;
} else if (m_row == ct.m_row) {
if ( m_col < ct.m_col ) {
return true;
}
}
return false;
}
};
class ReadExcel
{
public:
ReadExcel();
~ReadExcel();
public:
//打开excel文件
bool openExcel(const QString& filename);
void getALLfromDirNormalExcel(QString strFileName);
bool openExcelForWrite(const QString &filename);
//获取 指定单元格的数据
std::string getCellData(const int& row, const int& col);
int WriteCellData(const int& row, const int& col,std::string strValue );
//获取 行数,列数
void getInfo(int& row, int& col) const;
private:
void getALLfromExcel();
void WriteALLfromExcel();
private:
int m_row; //行
int m_col; //列
QString m_filename;
QAxObject* m_excel;
int m_rowWrite; //行
int m_colWrite; //列
QAxObject* m_excelWrite;
std::map<Position, std::string> m_mapdata;
std::map<Position, std::string> m_mapdataWrite;
Position p;
};
#endif // READEXCEL_H