You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
|
|
#include "iPlugin_global.h"
|
|
|
|
|
|
|
|
|
|
|
|
class ExcelEngine;
|
|
|
|
|
|
|
|
|
|
|
|
// 对Excel应用的再次封装
|
|
|
|
|
|
class I_PLUGIN_EXPORT ExcelUtils
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
|
|
|
|
ExcelUtils();
|
|
|
|
|
|
~ExcelUtils();
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
|
|
|
|
/// @brief Excel数据加载至VVec
|
|
|
|
|
|
bool loadExcel(VVecVariant& vvecData, QStringList* pVecTitles, QString& sFile, \
|
|
|
|
|
|
QString& sLog, \
|
|
|
|
|
|
int nRowFrom = 1, int nColFrom = 1, \
|
|
|
|
|
|
int nSheetIndex = 1, QString sSheetName = "");
|
|
|
|
|
|
|
|
|
|
|
|
/// @brief VVec数据存至Excel
|
|
|
|
|
|
bool saveExcel(VVecVariant vvecData, QStringList* pVecTitles, QString& sFile, \
|
|
|
|
|
|
QString& sLog, \
|
|
|
|
|
|
int nRowFrom = 1, int nColFrom = 1, \
|
|
|
|
|
|
int nSheetIndex = 1, QString sSheetName = "");
|
|
|
|
|
|
|
|
|
|
|
|
/// @brief 检测(或复制)Excel文件
|
|
|
|
|
|
static bool checkExcelFile(QString sFile, QString& sLog);
|
|
|
|
|
|
|
|
|
|
|
|
/// @brief 获取得到Excel所有Sheet名称(仅仅用于数据加载时,下拉Sheet名称)
|
|
|
|
|
|
/// @note取完即关闭(有点得不偿失)
|
|
|
|
|
|
static bool getAllSheets(QString sFile, QStringList& list);
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
|
|
|
|
|
|
// 根据不同平台选择不同的引擎
|
|
|
|
|
|
bool makesureExcelEngine(QString& sError);
|
|
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
|
|
|
|
|
|
ExcelEngine* m_pExcelEngine;
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|