有没有关EXCEL操作的API函数
解决方案 »
- MFC 文本框显示问题
- chkstk.asm堆栈溢出
- 求本VC++学习OpenGL的好书
- 谁有类似msdn的自动完成的combox控件源代码,
- 我的程序是基于对话框的,我要在对话框一出来,鼠标就限制在对话框里面,用GetWindowRect(rt);ClipCursor(rt);结果把鼠标限制在屏幕左上
- 如何知道COM对象调用了哪些COM对象?
- MFC多文档项目,换皮肤
- 扫雷游戏重新开始 无响应
- 如何在程序执行过程中在指定位置创建一个新文件夹?
- 为什么我下载官方的DirectX SDK (June 2010)却找不到stream.h文件
- 关于标题栏上的关闭按钮?
- 求一treeview控件!!!
http://support.microsoft.com/default.aspx?scid=kb;en-us;Q196776
http://support.microsoft.com/default.aspx?scid=kb;en-us;Q179706
try{
HRESULT hr;
CString m_filename[3]={"e:\\templ1.xls","e:\\templ2.xls",
"e:\\templ3.xls"};
COleVariant
covTrue((short)TRUE),
covFalse((short)FALSE),
covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR); int index=0;
index=m_tab.GetCurSel();
POSITION pos =m_list.GetFirstSelectedItemPosition();
int position=(int)pos;
CString id;
id=m_id[index].GetAt(position-1); // _Application app;
Workbooks books;
_Workbook book;
Worksheets sheets;
_Worksheet sheet;
Range range;
Range cols;
_Application app; // app is the Excel 9 _Application object // Start Excel and get Application object...
if(!app.CreateDispatch("Excel.Application"))
{
AfxMessageBox("Couldn't start Excel.");
}
else
{
//Make Excel Visible and display a message
//app.SetVisible(TRUE);
books = app.GetWorkbooks();
//book = books.Add (covOptional);
book=books.Open(m_filename[index], // This is a test workbook.
covOptional,
covOptional,
covOptional,
covOptional,
covOptional,
covOptional,
covOptional,
covOptional,
covOptional,
covOptional,
covOptional,
covOptional); //Get the first sheet.
sheets =book.GetSheets();
sheet = sheets.GetItem(COleVariant((short)1));
IGetCurrDataPtr pGCD;
hr=pGCD.CreateInstance(CLSID_GetCurrData);
if(FAILED(hr)) _com_raise_error (hr);
CString strSQL;
ADOREAD::_RecordsetPtr pRS;
_variant_t vDate[32];
if(index==0) //故障
{
strSQL="SELECT * FROM TBL_REPORT_3 WHERE ID='";
strSQL+=id+"'";
pRS=pGCD->ReadData(L"APPADM",L"APPADM",L"DSN=APPADM",
(_bstr_t)strSQL,L"",L"",
L"",0);
if(FAILED(hr)) _com_raise_error (hr);
if(pRS->EndOfFile==VARIANT_FALSE)
{
for(int i=0;i<30;i++)
{
vDate[i]=pRS->Fields->GetItem((short)i)->Value;
}
}
CString pos[30]={"B4","F4","I4","B13","E13","H13","J13",
"D7","E7","D8","E8","D9","E9","D10",
"E10","D12","E12","H7","I7","H8",
"I8","H9","I9","H10","I10","H11",
"I11","H12","I12"};
for(int i=1;i<30;i++)
{
range = sheet.GetRange(COleVariant(pos[i-1]), COleVariant(pos[i-1]));
range.SetValue(vDate[i]);
}
VARIANT vFileName;
vFileName.vt=VT_BSTR;
vFileName.bstrVal=(_bstr_t)m_file;
book.SaveAs(vFileName, // This is a test workbook.
covOptional,
covOptional,
covOptional,
covOptional,
covOptional,
0,
covOptional,
covOptional,
covOptional,
covOptional);
app.SetVisible(TRUE);
//完成
}else if(index==1) //明细
{
strSQL="SELECT * FROM TBL_REPORT_2 WHERE ID='";
strSQL+=id+"'";
pRS=pGCD->ReadData(L"APPADM",L"APPADM",L"DSN=APPADM",
(_bstr_t)strSQL,L"",L"",
L"",0);
if(FAILED(hr)) _com_raise_error (hr);
CString pos[29]={"A5","B5","C5","D5","E5","F5","G5",
"H5","I5","J5","K5","L5","M5","N5",
"O5","P5","Q5","R5","S5","T5",
"U5","V5","W5","X5","Y5","Z5",
"AA5","AB5","AC5"};
while(pRS->EndOfFile==VARIANT_FALSE)
{
for(int i=0;i<32;i++)
{
vDate[i]=pRS->Fields->GetItem((short)i)->Value;
}
range=sheet.GetRange(COleVariant("A5"), COleVariant("AC5"));
range.Activate();
range.Insert(COleVariant((short)2));
for(i=4;i<31;i++)
{
range = sheet.GetRange(COleVariant(pos[i-4]), COleVariant(pos[i-4]));
range.SetValue(vDate[i-1]);
}
pRS->MoveNext();
}
VARIANT vFileName;
vFileName.vt=VT_BSTR;
vFileName.bstrVal=(_bstr_t)m_file;
book.SaveAs(vFileName, // This is a test workbook.
covOptional,
covOptional,
covOptional,
covOptional,
covOptional,
0,
covOptional,
covOptional,
covOptional,
covOptional);
app.SetVisible(TRUE);
//完成
}else if(index==2)
{
}
}
}catch(_com_error &e)
{
AfxMessageBox(e.Description());
}
http://e.pku.edu.cn