白菜乐园
发表于 2004-10-6 17:34:00
支持原创!!!
xysyr
发表于 2004-10-31 15:55:00
在vc中怎样添加excel的sheet呢?请教。
kingchen
发表于 2004-11-14 20:34:00
高手。厉害
我也要象你一样厉害
!
zhmary
发表于 2004-12-10 11:30:00
请问各位高手,从哪里得到Excel.cpp Excel.h?
unionsoft
发表于 2004-12-13 12:36:00
zhmary发表于2004-12-10 11:30:00static/image/common/back.gif请问各位高手,从哪里得到Excel.cp...
<BR>Excel.cpp和Excel.h是从Excel的类型库中获取的,类型库类似C++中的头文件,包括接口,方法,属性的定义;类型库在Excel的安装目录可以找到,Excel的版本不同,这个类型库也不一样,如下所示:
Excel 95 and prior : xl5en32.olb<BR> Excel 97 : excel8.olb<BR> Excel 2000 : excel9.olb<BR> Excel 2002 : excel.exe
具体的获取方法:
1 . 使用VC++新建立一个基于MFC的EXE工程
2 . 点击菜单"查看"-->"建立类向导",此时会弹全"MFC ClassWizard"对话框
3 . 点击"Add Class"-->"From a type libray",指定Excel的type libray,在Excel的安装目录下可以找到,如:"D:\Microsoft Office\Office\EXCEL9.OLB"
4 . 在弹出的对话框中选择所需的类,按"确定",Excel.cpp和Excel.h就产生了。
yfy2003
发表于 2004-12-23 17:41:00
<FONT size=2>lpDisp = books.Open("C:\\1.xls", <BR> covOptional, covOptional, covOptional, covOptional, covOptional,<BR> covOptional, covOptional, covOptional, covOptional, covOptional,<BR> covOptional, covOptional ); </FONT><BR>
<BR>编译显示错误:
error C2660: 'Open' : function does not take 13 parameters
xux4618
发表于 2005-4-6 08:48:00
请问怎样才能增加一个工作表?
梦幻神话
发表于 2005-4-6 15:50:00
Workbooks.AttachDispatch(ExcelApp.GetWorkbooks()); <BR> Workbook.AttachDispatch(Workbooks.Open(FileName,covOptional, covOptional,covOptional, covOptional,covOptional, covOptional,covOptional, covOptional,covOptional, covOptional,covOptional, covOptional));<BR> Worksheets.AttachDispatch(Workbook.GetWorksheets());<BR> Worksheet.AttachDispatch(Worksheets.GetItem((COleVariant((long)1))));
Range.AttachDispatch(Worksheet.GetCells());<BR> iCell.AttachDispatch(Range.GetItem(COleVariant((long)2),COleVariant((long)2)).pdispVal);
vResult = iCell.GetMergeCells();
if(vResult.boolVal == -1)<BR> {<BR> AfxMessageBox("Yes");<BR> <BR> Range.AttachDispatch(iCell.GetRows());<BR> long row_num = Range.GetCount();
Range.AttachDispatch(iCell.GetColumns());<BR> long col_num = Range.GetCount();
CString str;<BR> str.Format("%d×%d",row_num,col_num);<BR> AfxMessageBox(str);<BR> }<BR>
请教:为什么str得到的结果都是1×1?(求合并单元格的原始行数和列数)。
谢谢。。。。。。。。。。
unionsoft
发表于 2005-4-9 10:13:00
首先你的Cells(2,2)是否处于合并单元格中
其次,你缺少了个关键语句:iCell.GetMergeArea()),你可以参考下面的语句
Range UnionRange;
UnionRange.AttachDispatch(iCell.GetMergeArea()); //先要获取合并区域
range.AttachDispatch (UnionRange.GetRows ());
long iRowNum = range.GetCount(); //合并单元格行数
range.AttachDispatch (UnionRange.GetColumns ());
long iColNum = Range.GetCount(); //合并单元格列数
wangws2005
发表于 2005-5-14 14:23:00
看后茅塞顿开啊!