資源簡介
本例程提供基于WPS表格進行讀寫操作的類,并VC6.0下編譯通過,更新至V1.2

代碼片段和文件信息
//?ControlWPS.cpp:?implementation?of?the?CControlWPS?class.
//
//////////////////////////////////////////////////////////////////////
#include?“stdafx.h“
#include?“ControlWPS.h“
#include?
#pragma?comment(lib“comsupp.lib“)
//////////////////////////////////////////////////////////////////////
//?Construction/Destruction
//////////////////////////////////////////////////////////////////////
CControlWPS::CControlWPS()?:
m_pIDisp(NULL)
{
CoInitialize(NULL);
::VariantInit(&varWorkbook);
::VariantInit(&varSheets);
::VariantInit(&varActiveSheet);
}
CControlWPS::~CControlWPS()
{
CloseWPS();
CoUninitialize();
}
//?啟動WPS表格
BOOL?CControlWPS::OpenWPS(CString?File)
{
USES_CONVERSION;
CLSID?clsid?=?{0};?
//?獲取WPS表格的?CLSID
HRESULT?hr?=?CLSIDFromProgID(L“ET.Application“?&clsid);
if(FAILED(hr))?return?FALSE;
//?通過CLSID啟動WPS
hr?=?CoCreateInstance(clsid?NULL?CLSCTX_LOCAL_SERVER?IID_IDispatch?(void**)&m_pIDisp);
if(FAILED(hr))?return?FALSE;
//?使WPS可見
// VARIANT?var?=?{0};
// var.vt?=?VT_BOOL;
// var.boolVal?=?VARIANT_TRUE;
// PutProperty(m_pIDisp?L“Visible“?&var);
//?獲取Workbooks集合
VARIANT?varWorkbooks?=?{0};
hr?=?GetProperty(m_pIDisp?L“Workbooks“?&varWorkbooks);
if(FAILED(hr))?return?FALSE;
//?獲取工作表
CComVariant?varDocument[4];
varDocument[1].vt?=?VT_BOOL;
varDocument[1].boolVal?=?VARIANT_FALSE;
varDocument[3].vt?=?VT_BSTR;
varDocument[3].bstrVal?=?File.AllocSysString();
hr?=?InvokeN(varWorkbooks.pdispVal?L“Open“?varDocument?4?&varWorkbook);
::SysFreeString(varDocument[3].bstrVal);
if(FAILED(hr))?return?FALSE;
//?獲取Sheets集合
hr?=?GetProperty(m_pIDisp?L“Sheets“?&varSheets);
if(FAILED(hr))?return?FALSE;
//?獲取Count集合
VARIANT?varCount?=?{0};
hr?=?GetProperty(varSheets.pdispVal?L“Count“?&varCount);
if(FAILED(hr))?return?FALSE;
for?(long?i=1;i<=varCount.lVal;i++)
{
//?獲取Worksheet對象
VARIANT?varWorksheet?=?{0};
CComVariant?varItem[1];
varItem[0].vt?=?VT_I4;
varItem[0].lVal?=?i;
hr?=?GetPropertyN(varSheets.pdispVal?L“Item“?varItem1&varWorksheet);
if(FAILED(hr))?return?FALSE;
//?獲取Name對象
VARIANT?varName?=?{0};
hr?=?GetProperty(varWorksheet.pdispVal?L“Name“?&varName);
if(FAILED(hr))?return?FALSE;
char*?lpszText?=?_com_util::ConvertBSTRToString(varName.bstrVal);?
CString?SheetName;
SheetName.Format(“%s“lpszText);
m_SheetNames.Add(SheetName);
delete?lpszText;
}
return?TRUE;
}
BOOL?CControlWPS::OpenSheet(CString?Sheet)
{
if(varSheets.vt?==?0)?return?FALSE;
for?(long?i?=?0;?i? {
if?(m_SheetNames.GetAt(i)?==?Sheet){
//?獲取Worksheet對象
CComVariant?varItem[1];
varItem[0].vt?=?VT_I4;
varItem[0].lVal?=?i+1;
HRESULT?hr?=?GetPropertyN(varSheets.pdispVal?L“Item“?varItem1&varActiveSheet);
if(FAILED(hr))?return?FALSE;
hr?=?Invoke0(varActiveSheet.pdispVal?L“Select“?NULL);
if(FAILED(hr))?return?FALSE
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????9604??2008-12-17?15:47??ExcelAccessSrc\ControlWPS.cpp
?????文件???????1395??2008-12-17?16:05??ExcelAccessSrc\ControlWPS.h
?????文件??????36084??2008-12-17?15:54??ExcelAccessSrc\ExcelAccessSrc.aps
?????文件???????1461??2008-12-17?16:05??ExcelAccessSrc\ExcelAccessSrc.clw
?????文件???????1969??2008-11-24?13:40??ExcelAccessSrc\ExcelAccessSrc.cpp
?????文件???????4331??2008-11-24?13:41??ExcelAccessSrc\ExcelAccessSrc.dsp
?????文件????????553??2008-11-24?13:40??ExcelAccessSrc\ExcelAccessSrc.dsw
?????文件???????1412??2008-11-24?13:40??ExcelAccessSrc\ExcelAccessSrc.h
?????文件??????58368??2008-12-17?16:05??ExcelAccessSrc\ExcelAccessSrc.ncb
?????文件??????53760??2008-12-17?16:05??ExcelAccessSrc\ExcelAccessSrc.opt
?????文件???????2078??2008-12-17?16:05??ExcelAccessSrc\ExcelAccessSrc.plg
?????文件?????????40??2008-12-17?16:05??ExcelAccessSrc\ExcelAccessSrc.positions
?????文件???????5858??2008-12-17?15:54??ExcelAccessSrc\ExcelAccessSrc.rc
?????文件???????6524??2008-12-17?16:04??ExcelAccessSrc\ExcelAccessSrcDlg.cpp
?????文件???????1546??2008-11-24?15:31??ExcelAccessSrc\ExcelAccessSrcDlg.h
?????文件???????3723??2008-11-24?13:40??ExcelAccessSrc\ReadMe.txt
?????文件???????1078??2008-11-24?13:40??ExcelAccessSrc\res\ExcelAccessSrc.ico
?????文件????????406??2008-11-24?13:40??ExcelAccessSrc\res\ExcelAccessSrc.rc2
?????文件????????830??2008-12-17?15:50??ExcelAccessSrc\resource.h
?????文件????????216??2008-11-24?13:40??ExcelAccessSrc\StdAfx.cpp
?????文件????????999??2008-11-24?13:40??ExcelAccessSrc\StdAfx.h
?????目錄??????????0??2008-12-17?16:05??ExcelAccessSrc\Debug
?????目錄??????????0??2008-11-24?13:40??ExcelAccessSrc\res
?????目錄??????????0??2008-12-17?16:05??ExcelAccessSrc
-----------?---------??----------?-----??----
???????????????192235????????????????????24
- 上一篇:TCP、UDP端口及ICMP網絡掃描工具
- 下一篇:NetCDF C++接口使用說明
評論
共有 條評論