c++ - 如何使用 COM 从 win32 应用程序处理 Excel 2007 和 Excel 2003(Excel 图表)?

标签 c++ visual-c++ com atl charts

如何使用 COM 在 win32 应用程序中使用 Excel 2007 和 Excel 2003(Excel 图表)? 我在哪里可以看到这个问题的任何示例(对于 Visual Studio 2003)或手册?

最佳答案

使用 #import ,您可以让 VC++ 生成大量用于与 COM 交互的智能指针代码。这是我从 C++ 实现 Office 自动化的首选方法。将其添加到源文件的顶部以生成文件并包含适当的生成文件:

#import "C:\\Program Files\\Common Files\\Microsoft Shared\\OFFICE11\\MSO.DLL"
#import "C:\\Program Files\\Microsoft Office\\OFFICE11\\EXCEL.EXE"

显然,您可能需要更改文件路径。您还可以使用类型库 ID,如果您处于多开发人员环境中,这可能是更好的解决方案。还有名称冲突等其他问题,您应该看看http://www.codeproject.com/KB/wtl/WTLExcel.aspx上的文章很好地总结了这一切。

现在您可以通过 _com_ptr<T> 使用 Excel , _bstr_t , _variant_t ,以及来自 VC++ 的其他辅助类。

关于c++ - 如何使用 COM 从 win32 应用程序处理 Excel 2007 和 Excel 2003(Excel 图表)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4996960/

相关文章:

具有隐式转换的 C++ 类字符串类

c++ - 从 C++ 程序启动外部应用程序并将其附加到 Visual 2008 调试器,同时在 WinAPI 中调试主机

c++ - MSVC++ 中源字符集编码规范,如 gcc "-finput-charset=CharSet"

c++ - varargs(va_list va_start) 不适用于传递引用参数

python - 如何在 Python 中使用 COM 创建 Excel 或 Windows 消息框?

c# - 从 C++ 调用 C#,C# 命名空间中的 "."有困难

c++ - libpqxx 关闭准备好的语句和结果

c++ - 为什么 const char* 强制转换为 std::string 有效?

c++ - 访问使用 def 文件导出的静态变量时崩溃

multithreading - Delphi COM 对象多线程