資源簡介
VC 導出excel VC 導出excel VC 導出excel

代碼片段和文件信息
//?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“l(fā)pszText);
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
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????8651??2008-11-24?15:39??ExcelAccess\ControlWPS.cpp
?????文件???????1354??2008-11-24?15:41??ExcelAccess\ControlWPS.h
?????文件??????34304??2009-06-17?14:09??ExcelAccess\Debug\ControlWPS.obj
?????文件????1544262??2009-06-17?14:40??ExcelAccess\Debug\ExcelAccessSrc.exe
?????文件????1922608??2009-06-17?14:40??ExcelAccess\Debug\ExcelAccessSrc.ilk
?????文件??????18594??2009-06-17?14:09??ExcelAccess\Debug\ExcelAccessSrc.obj
?????文件????5470932??2009-06-17?14:09??ExcelAccess\Debug\ExcelAccessSrc.pch
?????文件????3245056??2009-06-17?14:40??ExcelAccess\Debug\ExcelAccessSrc.pdb
?????文件???????8712??2009-06-17?14:09??ExcelAccess\Debug\ExcelAccessSrc.res
?????文件??????36678??2009-06-17?14:40??ExcelAccess\Debug\ExcelAccessSrcDlg.obj
?????文件?????105469??2009-06-17?14:09??ExcelAccess\Debug\StdAfx.obj
?????文件?????222208??2009-06-17?15:03??ExcelAccess\Debug\vc60.idb
?????文件?????397312??2009-06-17?14:27??ExcelAccess\Debug\vc60.pdb
?????文件??????20984??2009-06-17?14:10??ExcelAccess\ExcelAccessSrc.aps
?????文件???????1272??2009-06-17?15:05??ExcelAccess\ExcelAccessSrc.clw
?????文件???????1969??2008-11-24?13:40??ExcelAccess\ExcelAccessSrc.cpp
?????文件???????4331??2008-11-24?13:41??ExcelAccess\ExcelAccessSrc.dsp
?????文件????????553??2008-11-24?13:40??ExcelAccess\ExcelAccessSrc.dsw
?????文件???????1412??2008-11-24?13:40??ExcelAccess\ExcelAccessSrc.h
?????文件??????66560??2009-06-17?17:45??ExcelAccess\ExcelAccessSrc.ncb
?????文件??????55808??2009-06-17?17:45??ExcelAccess\ExcelAccessSrc.opt
?????文件???????1184??2009-06-17?14:27??ExcelAccess\ExcelAccessSrc.plg
?????文件????????356??2008-11-24?15:42??ExcelAccess\ExcelAccessSrc.positions
?????文件???????5563??2008-11-24?14:55??ExcelAccess\ExcelAccessSrc.rc
?????文件???????6285??2009-06-17?14:40??ExcelAccess\ExcelAccessSrcDlg.cpp
?????文件???????1546??2008-11-24?15:31??ExcelAccess\ExcelAccessSrcDlg.h
?????文件???????3723??2008-11-24?13:40??ExcelAccess\ReadMe.txt
?????文件???????1078??2008-11-24?13:40??ExcelAccess\res\ExcelAccessSrc.ico
?????文件????????406??2008-11-24?13:40??ExcelAccess\res\ExcelAccessSrc.rc2
?????文件????????784??2008-11-24?14:55??ExcelAccess\resource.h
............此處省略8個文件信息
評論
共有 條評論