写一个网页,里面插入excel 对象,如何让这个excel 对象 加载本地的excel文件呢?(不通过服务器获取,直接自己加载)
<object classid="clsid:0002E559-0000-0000-C000-000000000046" id="Spreadsheet1" width="676" height="388">
</object>可以在网页中添加 javascript,vbscript.我在VC代码中,这样操作,最后一步失败,不知为何?代码如下:
HWND hWnd = GetDlgItem(IDC_EXPLORER1);
ATLASSERT(hWnd!=NULL); CComPtr<IUnknown> spUnk;
CComPtr<IWebBrowser2> spWebCtrl; HRESULT hr = AtlAxGetControl(hWnd, &spUnk);
if(SUCCEEDED(hr) && spUnk)
{
hr = spUnk->QueryInterface(IID_IWebBrowser2,(void**)&spWebCtrl);
if(SUCCEEDED(hr) && spWebCtrl)
{
CComPtr<IDispatch> spDisp;
hr = spWebCtrl->get_Document(&spDisp);
CComQIPtr<IHTMLDocument3> spDoc(spDisp);
if( !spDoc ) return;
CComPtr<IHTMLElement> spEl;
hr = spDoc->getElementById(CComBSTR("Spreadsheet1"), &spEl);
if(SUCCEEDED(hr) && spEl)
{
CComQIPtr<IOleObject> spOleObj;
hr=spEl->QueryInterface(IID_IOleObject,(void**)&spOleObj);
if(SUCCEEDED(hr))
{
CComQIPtr<IPersistStorage> spPersistStorage(spOleObj);
CComQIPtr<IStorage> spStorage;
               hr=StgOpenStorage(_T("d:\\1.xls"),NULL,STGM_READ|STGM_SHARE_DENY_WRITE,NULL,0,&spStorage);

if(SUCCEEDED(hr))
{
hr=spPersistStorage->Load(spStorage); //此处失败,返回-2147287038(找不到%1)
}
}
}
}
}
}求解: