gpt4 book ai didi

c++ - 如何将数据文件加载到自动 Excel 工作表文档?

转载 作者:行者123 更新时间:2023-11-28 07:56:09 24 4
gpt4 key购买 nike

我有一个 MFC/C++ 项目,它使用 ActiveX 文档(自动化)方法打开 Excel 工作表嵌入对象。遗憾的是,Excel.Sheet obj API 没有从预先准备好的 htm/cvs 文件加载数据的方法。所以,我无法加载准备好的数据。唯一能够从文件加载数据的对象是“Workbooks”(方法 Open(...)),但它总是创建一个新的 Sheet 对象,而不使用现有的对象。所有使用嵌入式 Excel.Sheet 文档的示例都提供了“手动”填充表格单元格的方法,但没有人展示如何打开其中的现有文件。

那么,如何将html/cvs 数据文件加载到Automated Excel Sheet 文档中呢?

最佳答案

您可以使用 OleObjects 将任何文件(任何类型)嵌入到 Excel 工作表中。这是附加文件的示例代码:

BOOL InsertFileToWorksheet(Exl_Worksheet &ws, LPCTSTR lpFilePath, LPCTSTR ObjName)

{
RemoveOldOleObj(ws,ObjName);

VARIANT vFileName;
str_to_vt(vFileName,(char*)lpFilePath);
ExlOLEObjects ole_objects;

BOOL bRes(TRUE);
try{
ole_objects = ws.OLEObjects( vOptional );

COleVariant left(10l),top(10l),width(1l),height(1l);
Exl_OLEObject objSrc = ole_objects.Add(vOptional,vFileName,vOptional,vOptional,vOptional,vOptional,vOptional,
vOptional,vOptional,vOptional,vOptional);
objSrc.SetName(ObjName);
}catch(...){
bRes = FALSE;
}

VariantClear(&vFileName);
return bRes;
}

void RemoveOldOleObj(Exl_Worksheet &ws, LPCTSTR ObjName )
{
ExlOLEObjects ole_objects;
try{
ole_objects = ws.OLEObjects( vOptional );
}catch(...){
return;
}

VARIANT vObjName;
str_to_vt(vObjName,(char*)ObjName);
Exl_OLEObject obj;

try{
obj = ole_objects.Item(vObjName);
obj.Delete();
}catch(...){
}
VariantClear(&vObjName);

}

您可以找到完整的源代码 (c++) in this article .

关于c++ - 如何将数据文件加载到自动 Excel 工作表文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12675150/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com