标签:
1、打开Excel:objExcel = new QAxObject("Excel.Application"); <?xml:namespace prefix = o />
2、创建工作表:workSheet->dynamicCall("Add");
3、打开工作表:workExcel->dynamicCall("Open (const QString&)", file);
4、建立表头:pExcelCell->setProperty("Value", QVariant(strTemp));<?xml:namespace prefix = o />
5、写入数据:pExcelCell->setProperty("Value", QVariant(sLTestMsg.at(i-1)));
6、保存:workExcel->dynamicCall("SaveAs (const QString&)", saveFile);
7、退出:objExcel->dynamicCall("Quit (void)")。
/* Copyrignt (C). 2013-2016. TECHNOLOGIES LTD. */
/**
*Copyrignt (C). 2013-2016. TECHNOLOGIES LTD.
*@file qexcel.h
*@brief Operate Excel
*@author lichenglong
*@version 1.0
*@date 2013/8/10
*@History:
<author> <time> <version> <desc>
lichenglong 2013/8/10 1.0 Operate Excel
*/
#ifndef QEXCEL_H
#define QEXCEL_H
#include <QAxObject>
#include <QAxWidget>
#include <QString>
#include <QDebug>
#include <QObject>
#include <QList>
#include <QDir>
#include <QMessageBox>
#include <assert.h>
#include "qt_windows.h"
#include "apps/ATSCommm.h"
/**
* @brief Operate Excel in Qt
*/
class QExcel : public QObject
{
Q_OBJECT
public:
/**
* @brief Construction Function of QExcel
* @param No
* @return void
*/
explicit QExcel(QObject *parent = 0);
~QExcel();
/**
* @brief Create Excel File
* @param no
* @return 0:success -1:failed
*/
bool CreateExcel(QString file);
/**
* @brief Open Excel File
* @param file [QString] the name of the opened file
* @param uColumn [unsigned int]
* @return 0:success -1:failed
*/
bool OpenExcel(QString file, unsigned int uColumn);
/**
* @brief set Work Talbe Header
* @param no
* @return void
*/
void setRatioAllSigExcelHeader();
/**
* @brief set Work Talbe Header: Resolution Ratio
* @param no
* @return void
*/
void SetResRatioExcelHeader();
/**
* @brief set Work Talbe Header: Signal 1 resolution ratios
* @param no
* @return void
*/
void SetRatio1SigExcelHeader();
/**
* @brief set Work Talbe Header: Signal & 2 resolution ratios
* @param no
* @return void
*/
void SetRatio2SigExcelHeader();
/**
* @brief Write a Test Message
* @param sLTestMsg [QList<QString>] the Qstring List of test message
* @param
* @return void
*/
void WriteExcelMsg(QList<QString> sLTestMsg);
/**
* @brief Save Excel File
* @param saveFile [QString]
* @return 0:success -1:failed
*/
bool SaveExcel(QString saveFile);
private:
QAxObject *objExcel; /**< excel application.*/
QAxObject * workExcel; /**< excel Handle of the opened file.*/
QString fileName; /**< save path and name of the Work Table .*/
unsigned int uiMaxColumn; /**< colunm of the Work Table.*/
unsigned int uiMaxRow; /**< row of the Work Table.*/
//QList<QString> sLTestMsg; /**< row of the Work Table.*/
};
#endif // QEXCEL_H
|
/* Copyrignt (C). 2013-2016. LTD. */
/**
*Copyrignt (C). 2013-2016. LTD.
*@file qexcel.cpp
*@brief Operate Excel
*@author lichenglong
*@version 1.0
*@date 2013/8/10
*@History:
<author> <time> <version> <desc>
lichenglong 2013/8/10 1.0 Operate Excel
*/
#include "qexcel.h"
#include <QMessageBox>
/**
* @brief Construction Function of QExcel
* @param No
* @return void
*/
QExcel::QExcel(QObject *parent) :
QObject(parent)
{
/**< initlialize parameter.*/
uiMaxColumn = MAXCOLUMN;
uiMaxRow = 0;
/**< use Excel ActiveX.*/
objExcel = new QAxObject("Excel.Application");
qDebug()<<objExcel;
//QMessageBox::information(this,"success","save figure parameter. ");
/**< show current window.*/
objExcel->setProperty("Visible", false);
if(0) //测试代码
{
/**< Create/Open Excel.*/
QString tabelSavePath;
// tabelSavePath.append("D:\QtProject\ATS - 20130730\result\lcl_20120808200000_8.xls");
tabelSavePath.append("D:\\1.xls" );
if(this->CreateExcel(tabelSavePath))
{
this->OpenExcel(tabelSavePath,RES3SIGCOLUMN);
this->setRatioAllSigExcelHeader();
}
else
{
//uiMaxColumn = RES3SIGCOLUMN;
this->OpenExcel(tabelSavePath,RES3SIGCOLUMN);
}
QList<QString> sLTestMsg;
sLTestMsg<<tr("1")<<tr("2013/8/7 20:30:20")<<tr("COM1")<<tr("192.168.1.1")<<tr("VCL-H3L")<<tr("Vtron123456");
for(int i=6;i<RES3SIGCOLUMN;i++)
{
sLTestMsg<<tr("正确");
}
this->WriteExcelMsg(sLTestMsg);
/**< save excel.*/
this->SaveExcel(tabelSavePath);
/**< Create/Open Excel.*/
tabelSavePath.clear();
// tabelSavePath.append("D:\QtProject\ATS - 20130730\result\lcl_20120808200000_8.xls");
tabelSavePath.append("D:\\2.xls" );
if(this->CreateExcel(tabelSavePath))
{
this->OpenExcel(tabelSavePath,RES1SIGCOLUMN);
this->SetRatio1SigExcelHeader();
}
else
{
//uiMaxColumn = RES1SIGCOLUMN;
this->OpenExcel(tabelSavePath,RES1SIGCOLUMN);
}
sLTestMsg.clear();
sLTestMsg<<tr("1")<<tr("2013/8/7 20:30:20")<<tr("COM1")<<tr("192.168.1.1")<<tr("VCL-H3L")<<tr("Vtron123456");
for(int i=6;i<RES1SIGCOLUMN;i++)
{
sLTestMsg<<tr("_正确");
}
for(int i=6;i<RES1SIGCOLUMN;i++)
{
sLTestMsg[i].replace("_","LCL_");
/*
QString temp(sLTestMsg.at(6));
qDebug()<< temp.replace("_","lcl");
//sLTestMsg.at(6).clear();
sLTestMsg.removeAt(6);
sLTestMsg.insert(6,temp);
//sLTestMsg.at(6) = temp;*/
}
this->WriteExcelMsg(sLTestMsg);
/**< save excel.*/
this->SaveExcel(tabelSavePath);
qDebug()<<"lcl::::";
/**< Create/Open Excel.*/
tabelSavePath.clear();
// tabelSavePath.append("D:\QtProject\ATS - 20130730\result\lcl_20120808200000_8.xls");
tabelSavePath.append("D:\\3.xls" );
if(this->CreateExcel(tabelSavePath))
{
this->OpenExcel(tabelSavePath,RES1SIGCOLUMN);
this->SetRatio2SigExcelHeader();
}
else
{
//uiMaxColumn = RES2SIGCOLUMN;
this->OpenExcel(tabelSavePath,RES2SIGCOLUMN);
}
sLTestMsg.clear();
sLTestMsg<<tr("1")<<tr("2013/8/7 20:30:20")<<tr("COM1")<<tr("192.168.1.1")<<tr("VCL-H3L")<<tr("Vtron123456");
for(int i=6;i<RES2SIGCOLUMN;i++)
{
sLTestMsg<<tr("正确");
}
this->WriteExcelMsg(sLTestMsg);
/**< save excel.*/
this->SaveExcel(tabelSavePath);
}
}
QExcel::~QExcel()
{
/**< exit Excel.*/
objExcel->dynamicCall("Quit (void)");
qDebug()<<"Qexcel exit... ";
//OleUninitialize();
}
/**
* @brief Create Excel File
* @param file [QString] the name of the opened file
* @return 0:success -1:failed
*/
bool QExcel::CreateExcel(QString file)
{
QDir dTemp;
if(dTemp.exists(file))
{
qDebug()<<" QExcel::CreateExcel: exist file"<<file;
return false;
}
qDebug()<<" QExcel::CreateExcel: succes";
/**< create new excel sheet file.*/
QAxObject * workSheet = objExcel->querySubObject("WorkBooks");
workSheet->dynamicCall("Add");
/**< save Excel.*/
QAxObject * workExcel= objExcel->querySubObject("ActiveWorkBook");
objExcel->setProperty("DisplayAlerts", 0);
workExcel->dynamicCall("SaveAs (const QString&,int,const QString&,const QString&,bool,bool)",file,56,QString(""),QString(""),false,false);
objExcel->setProperty("DisplayAlerts", 1);
workExcel->dynamicCall("Close (Boolean)", false);
/**< exit Excel.*/
//objExcel->dynamicCall("Quit (void)");
return true;
}
/**
* @brief Open Excel File
* @param file [QString] the name of the opened file
* @param uColumn [unsigned int]
* @return 0:success -1:failed
*/
bool QExcel::OpenExcel(QString file, unsigned int uColumn)
{
if(file.isEmpty())
return false;
workExcel = objExcel->querySubObject("WorkBooks");
assert(workExcel);
/**< open EXCEL, open file.xls.*/
workExcel->dynamicCall("Open (const QString&)", file);
assert(workExcel);
uiMaxColumn = uColumn;
return true;
}
/**
* @brief set Work Talbe Header: Signal 1 resolution ratios
* @param no
* @return void
*/
void QExcel::SetRatio1SigExcelHeader()
{
/**< get active work books.*/ //获取活动工作簿:
QAxObject * activeSheets = objExcel->querySubObject("ActiveWorkBook");
/**< get table i.*/ //获取第一个工作表sheet1:
QAxObject * worksheet = activeSheets->querySubObject("Worksheets(int)", 1);
//qDebug() << worksheet->property("Name").toString(); //获取工作表名:
/**< get/set cell value.*/ // 获取cell的值
QAxObject * pExcelCell;
/**< initlialize parameter.*/
uiMaxColumn = RES1SIGCOLUMN;
/**< set Work Table header.*/
QString strTemp;
strTemp = tr("编号");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 1 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("时间");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 2 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("串口");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 3 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("IP");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 4 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("硬件型号");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 5 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("序列号");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 6 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("OSD");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 7 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("DRGB");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 8 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("ARGB");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 9 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("校准园");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 10 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("黑白点");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 11 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("工厂图");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 12 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("CVBS");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 13 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("YC");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 14 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("HDTV");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 15 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("HDMI");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 16 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("DRGB-S");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 17 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("ARGB-S");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 18 );
pExcelCell->setProperty("Value", QVariant(strTemp));
//qDebug() <<"Excel::setRatioAllSigExcelHeader(): "<< strTemp<<pExcelCell->property("Value").toString();
}
/**
* @brief set Work Talbe Header: Signal & 2 resolution ratios
* @param no
* @return void
*/
void QExcel::SetRatio2SigExcelHeader()
{
/**< get active work books.*/ //获取活动工作簿:
QAxObject * activeSheets = objExcel->querySubObject("ActiveWorkBook");
/**< get table i.*/ //获取第一个工作表sheet1:
QAxObject * worksheet = activeSheets->querySubObject("Worksheets(int)", 1);
//qDebug() << worksheet->property("Name").toString(); //获取工作表名:
/**< get/set cell value.*/ // 获取cell的值
QAxObject * pExcelCell;
/**< initlialize parameter.*/
uiMaxColumn = RES2SIGCOLUMN;
/**< set Work Table header.*/
QString strTemp;
strTemp = tr("编号");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 1 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("时间");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 2 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("串口");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 3 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("IP");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 4 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("硬件型号");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 5 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("序列号");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 6 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("OSD");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 7 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("DRGB");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 8 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("ARGB");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 9 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("校准园");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 10 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("黑白点");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 11 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("CVBS");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 12 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("YC");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 13 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("HDTV");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 14 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("HDMI");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 15 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("DRGB-S");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 16 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("ARGB-S");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 17 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("工厂图");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 18 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("OSD");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 19 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("DRGB");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 20 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("ARGB");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 21 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("校准园");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 22 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("黑白点");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 23 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("工厂图");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 24 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("CVBS");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 25 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("YC");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 26 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("HDTV");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 27 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("HDMI");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 28 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("DRGB-S");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 29 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("ARGB-S");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 30 );
pExcelCell->setProperty("Value", QVariant(strTemp));
//qDebug() <<"Excel::setRatioAllSigExcelHeader(): "<< strTemp<<pExcelCell->property("Value").toString();
}
/**
* @brief set Work Talbe Header
* @param no
* @return void
*/
void QExcel::setRatioAllSigExcelHeader()
{
/**< get active work books.*/ //获取活动工作簿:
QAxObject * activeSheets = objExcel->querySubObject("ActiveWorkBook");
/**< get table i.*/ //获取第一个工作表sheet1:
QAxObject * worksheet = activeSheets->querySubObject("Worksheets(int)", 1);
//qDebug() << worksheet->property("Name").toString(); //获取工作表名:
/**< get/set cell value.*/ // 获取cell的值
QAxObject * pExcelCell;
/**< initlialize parameter.*/
uiMaxColumn = RES3SIGCOLUMN;
/**< set Work Table header.*/
QString strTemp;
strTemp = tr("编号");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 1 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("时间");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 2 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("串口");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 3 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("IP");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 4 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("硬件型号");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 5 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("序列号");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 6 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("OSD");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 7 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("DRGB");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 8 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("ARGB");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 9 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("校准园");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 10 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("黑白点");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 11 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("CVBS");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 12 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("YC");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 13 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("HDTV");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 14 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("HDMI");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 15 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("DRGB-S");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 16 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("ARGB-S");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 17 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("工厂图");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 18 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("OSD");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 19 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("DRGB");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 20 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("ARGB");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 21 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("校准园");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 22 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("黑白点");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 23 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("工厂图");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 24 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("CVBS");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 25 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("YC");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 26 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("HDTV");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 27 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("HDMI");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 28 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("DRGB-S");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 29 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("ARGB-S");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 30 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("OSD");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 31 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("DRGB");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 32 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("ARGB");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 33 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("校准园");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 34 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("黑白点");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 35 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("工厂图");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 36 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("CVBS");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 37 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("YC");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 38 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("HDTV");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 39 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("HDMI");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 40 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("DRGB-S");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 41 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("ARGB-S");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 42 );
pExcelCell->setProperty("Value", QVariant(strTemp));
//qDebug() <<"Excel::setRatioAllSigExcelHeader(): "<< strTemp<<pExcelCell->property("Value").toString();
}
/**
* @brief set Work Talbe Header: Resolution Ratio
* @param no
* @return void
*/
void QExcel::SetResRatioExcelHeader()
{
/**< get active work books.*/ //获取活动工作簿:
QAxObject * activeSheets = objExcel->querySubObject("ActiveWorkBook");
/**< get table i.*/ //获取第一个工作表sheet1:
QAxObject * worksheet = activeSheets->querySubObject("Worksheets(int)", 1);
//qDebug() << worksheet->property("Name").toString(); //获取工作表名:
/**< get/set cell value.*/ // 获取cell的值
QAxObject * pExcelCell;
/**< initlialize parameter.*/
uiMaxColumn = RESRATIOCOLUMN;
/**< set Work Table header.*/
QString strTemp;
strTemp = tr("编号");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 1 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("时间");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 2 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("串口");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 3 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("IP");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 4 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("硬件型号");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 5 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("序列号");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 6 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("OSD");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 7 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("DRGB");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 8 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("ARGB");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 9 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("校准园");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 10 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("黑白点");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 11 );
pExcelCell->setProperty("Value", QVariant(strTemp));
strTemp = tr("工厂图");
pExcelCell= worksheet->querySubObject("Cells(int,int)", 1, 12 );
pExcelCell->setProperty("Value", QVariant(strTemp));
//qDebug() <<"Excel::setRatioAllSigExcelHeader(): "<< strTemp<<pExcelCell->property("Value").toString();
}
/**
* @brief Write a Test Message
* @param sLTestMsg [QList<QString>] the Qstring List of test message
* @param Eg: sLTestMsg<<tr("1")<<tr("2013/8/7 20:30:00")<<tr("COM1")<<tr("192.168.1.1")<<tr("VCL-H3L")
* @param <<tr("正确")<<tr("正确")<<tr("正确")<<tr("正确")<<tr("正确")<<tr("正确");
* @return void
*/
void QExcel::WriteExcelMsg(QList<QString> sLTestMsg)
{
qDebug()<<sLTestMsg<<sLTestMsg.count();
/**< get active work books.*/
QAxObject * activeSheets = objExcel->querySubObject("ActiveWorkBook");
/**< get table 1.*/
QAxObject * worksheet = activeSheets->querySubObject("Worksheets(int)", 1);
/**< get the max of rows.*/
QAxObject * pExcelRange = worksheet->querySubObject("UsedRange");
QAxObject * pExcelRows = pExcelRange->querySubObject("Rows");
uiMaxRow = pExcelRows->property("Count").toInt();
//qDebug()<<"lcl..........."<<uiMaxRow<<uiMaxColumn;
/**< get/set cell value.*/
QAxObject * pExcelCell;
for(unsigned int i=1;i<=uiMaxColumn;i++)
{
pExcelCell= worksheet->querySubObject("Cells(int,int)", uiMaxRow+1, i );
pExcelCell->setProperty("Value", QVariant(sLTestMsg.at(i-1)));
}
}
/**
* @brief Save Excel File
* @param saveFile [QString]
* @return 0:success -1:failed
*/
bool QExcel::SaveExcel(QString saveFile)
{
qDebug()<<" QExcel::SaveExcel:"<<saveFile;
/**< save Excel.*/
QAxObject * workExcel= objExcel->querySubObject("ActiveWorkBook");
objExcel->setProperty("DisplayAlerts", 0);
workExcel->dynamicCall("SaveAs (const QString&)", saveFile);
objExcel->setProperty("DisplayAlerts", 1);
workExcel->dynamicCall("Close (Boolean)", false);
/**< exit Excel.*/
//objExcel->dynamicCall("Quit (void)");
return true ;
}
|
标签:
原文地址:http://www.cnblogs.com/lvdongjie/p/4380190.html