91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 8KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-06-03
  • 語言: 其他
  • 標簽: qt;excel??

資源簡介

原博客地址:http://blog.csdn.net/frank3543/article/details/45042977 測試可使用,方便大家,有什么問題的請指出。我是qt5,配置照著項目應該沒問題。

資源截圖

代碼片段和文件信息

#include?“excelengine.h“


ExcelEngine::ExcelEngine()
{
????pExcel?????=?NULL;
????pWorkbooks?=?NULL;
????pWorkbook??=?NULL;
????pWorksheet?=?NULL;

????sXlsFile?????=?““;
????nRowCount????=?0;
????nColumnCount?=?0;
????nStartRow????=?0;
????nStartColumn?=?0;

????bIsOpen?????=?false;
????bIsValid????=?false;
????bIsANewFile?=?false;
????bIsSaveAlready?=?false;

????HRESULT?r?=?OleInitialize(0);
????if?(r?!=?S_OK?&&?r?!=?S_FALSE)
????{
????????qDebug(“Qt:?Could?not?initialize?OLE?(error?%x)“?(unsigned?int)r);
????}
}

ExcelEngine::ExcelEngine(QString?xlsFile)
{
????pExcel?????=?NULL;
????pWorkbooks?=?NULL;
????pWorkbook??=?NULL;
????pWorksheet?=?NULL;

????sXlsFile?????=?xlsFile;
????nRowCount????=?0;
????nColumnCount?=?0;
????nStartRow????=?0;
????nStartColumn?=?0;

????bIsOpen?????=?false;
????bIsValid????=?false;
????bIsANewFile?=?false;
????bIsSaveAlready?=?false;

????HRESULT?r?=?OleInitialize(0);
????if?(r?!=?S_OK?&&?r?!=?S_FALSE)
????{
????????qDebug(“Qt:?Could?not?initialize?OLE?(error?%x)“?(unsigned?int)r);
????}
}

ExcelEngine::~ExcelEngine()
{
????if?(?bIsOpen?)
????{
????????//析構前,先保存數據,然后關閉workbook
????????Close();
????}
????OleUninitialize();
}

/**
??*@brief?打開sXlsFile指定的excel報表
??*@return?true?:?打開成功
??*????????false:?打開失敗
??*/
bool?ExcelEngine::Open(UINT?nSheet?bool?visible)
{

????if?(?bIsOpen?)
????{
????????//return?bIsOpen;
????????Close();
????}

????nCurrSheet?=?nSheet;
????bIsVisible?=?visible;

????if?(?NULL?==?pExcel?)
????{
????????pExcel?=?new?QAxobject(“Excel.Application“);
????????if?(?pExcel?)
????????{
????????????bIsValid?=?true;
????????}
????????else
????????{
????????????bIsValid?=?false;
????????????bIsOpen??=?false;
????????????return?bIsOpen;
????????}

????????pExcel->dynamicCall(“SetVisible(bool)“?bIsVisible);
????}

????if?(?!bIsValid?)
????{
????????bIsOpen??=?false;
????????return?bIsOpen;
????}

????if?(?sXlsFile.isEmpty()?)
????{
????????bIsOpen??=?false;
????????return?bIsOpen;
????}

????/*如果指向的文件不存在,則需要新建一個*/
????QFile?f(sXlsFile);
????if?(!f.exists())
????{
????????bIsANewFile?=?true;
????}
????else
????{
????????bIsANewFile?=?false;
????}

????if?(!bIsANewFile)
????{
????????pWorkbooks?=?pExcel->querySubobject(“WorkBooks“);?//獲取工作簿
????????pWorkbook?=?pWorkbooks->querySubobject(“Open(QString?QVariant)“sXlsFileQVariant(0));?//打開xls對應的工作簿
????}
????else
????{
????????pWorkbooks?=?pExcel->querySubobject(“WorkBooks“);?????//獲取工作簿
????????pWorkbooks->dynamicCall(“Add“);???????????????????????//添加一個新的工作薄
????????pWorkbook??=?pExcel->querySubobject(“ActiveWorkBook“);?//新建一個xls
????}

????pWorksheet?=?pWorkbook->querySubobject(“WorkSheets(int)“?nCurrSheet);//打開sheet

????//至此已打開,開始獲取相應屬性
????QAxobject?*usedrange?=?pWorksheet->querySubobject(“UsedRange“);//獲取該sheet的使用范圍對象
????QAxobject?*rows?=?usedrange->querySubobject(“Rows“);
????QAxobject?*columns?=?usedrange-

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件??????10094??2018-01-29?10:51??excelTest\excelengine.cpp

?????文件???????1260??2018-01-29?10:32??excelTest\excelengine.h

?????文件???????1234??2018-01-29?10:16??excelTest\excelTest.pro

?????文件??????23855??2018-01-29?09:35??excelTest\excelTest.pro.user

?????文件????????175??2018-01-26?14:50??excelTest\main.cpp

?????文件????????614??2018-01-29?10:54??excelTest\widget.cpp

?????文件????????414??2018-01-29?10:53??excelTest\widget.h

?????文件???????1256??2018-01-29?10:34??excelTest\widget.ui

?????目錄??????????0??2018-01-29?10:58??excelTest

-----------?---------??----------?-----??----

????????????????38902????????????????????9


評論

共有 條評論

相關資源