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.
nmWTAI-Platform/Include/iBase/iPlugin/ExcelEngineAxEx.h

66 lines
2.3 KiB
C++

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

#pragma once
#include "ExcelEngineAx.h"
// Excel+ActiveX与Office关联的实现
// 在此基础上扩展Excel引擎支持导出图片暂未涉及原先地面管柱优化用过
class I_PLUGIN_EXPORT ExcelEngineAxEx : public ExcelEngineAx
{
Q_OBJECT
public:
ExcelEngineAxEx();
~ExcelEngineAxEx();
#ifdef Q_OS_WIN
public:
/// @brief 导出图片格式的内容
/// @param vvecData 数据
/// @param pVecTitles 标题(可以为空)
/// @param mapImgs 图片,行位置对应
/// @param mapSizes 图片Size行位置对应
/// @param nRowFrom Excel开始行从1开始
/// @param nColFrom Excel开始列从1开始
/// @param fImgColWidth图片列 宽度
/// @param nTemplIndex模板,0魏氏、1马氏
/// @param sLog 日志
virtual bool runBatchValues(VVecVariant vvecData, QStringList* pVecTitles, \
QMap<int, QString>& mapImgs, QMap<int, QPointF>& mapSizes, \
int nRowFrom, int nColFrom, \
double dImgColWidth, \
int nTemplIndex, \
QString& sLog);
/// @brief 读取图片格式+文本格式的内容
/// @param vvecData 数据
/// @param mapImgs 图片,行位置对应
/// @param mapSizes 图片Size行位置对应
/// @param nRowFrom Excel开始行从1开始
/// @param nColFrom Excel开始列从1开始
/// @param nTemplIndex模板,0魏氏、1马氏
/// @param sLog 日志
virtual bool getBatchValues(VVecVariant& vvecData, \
QMap<int, QString>& mapImgs, QMap<int, QPointF>& mapSizes, \
int nRowFrom, int nColFrom, \
int nTemplIndex, \
QString& sLog);
protected:
/// @brief 解析图片Map的Value
virtual bool checkImgFile(QString& sImg);
/// @brief 对Size进行调整变为实际Excel大小
virtual bool checkImgSizes(QMap<int, QPointF>& map, double dImgWidthMax);
/// @brief 图片插入完成后,对图片列进行调整
/// @note r1<=r2 c1<=c2
virtual bool formatImgsBounds(int r1, int r2, int c1, int c2);
#endif
};