• 大小: 3.01MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-09-12
  • 语言: 其他
  • 标签: VC  导出excel  

资源简介

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“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 < m_SheetNames.GetSize(); 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个文件信息

评论

共有 条评论