`
zyy200411
  • 浏览: 46174 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

【转】Visual C++ 6.0 实现对excel2003的读写

阅读更多

1. 导入excel.h,excel.cpp文件

    具体方法是:

    1)进入VC6的类向导中的AUTOMATION页中,单击“ADD CLASS”,然后选择“from a type”,浏览office安装目录选择导入工程文件,如图1所示。

    2)选择EXCEL打开,如图2所示:

    3)点击对话框中的两个"BROWSE..."按钮,将excel.h与excel.cpp保存到当前VC++工程所在的目录。然后添加_Application,_Workbook,_Worksheet,Workbooks,Worksheets,Range类,这时VC++工程自动将excel.h与excel.cpp文件添加到VC++工程中。(注:上述6个类可一次添加,也可分别添加。)

2.  引入以下头文件

    

#include "comdef.h" 
#include "excel.h" 

3.  具体操作代码

BOOL COBUAntennaPatternDlg::CreateExcelFile(CString fileName)
{
	/*
	先创建一个_Application类,用_Application来创建一个Excel应用程序接口。
	Excel接口类中层次如下所示:
	-_Application
	 -Workbooks 工作簿集合
	  -_Workbook 工作簿
	   -Worksheets 工作表集合
	    -_Worksheet 工作表
		 -Range 单元格区域
	故要操作表,必须逐步获取
	Workbooks->_Workbook->Worksheets->_Worksheet->Range
	*/
	_Application	app;
	Workbooks		books;
	_Workbook		book;
	Worksheets		sheets;
	_Worksheet		sheet;
	Range			range;	// Excel中针对单元格的操作都应先获取其对应的Range对象
	Range			cols;

	/*
	COleVariant类为VARIANT数据类型的包装。
	在自动化程序中,通常都使用VARIANT数据类型进行参数传递。
	故下列程序中,函数参数都是通过COleVariant类来转换的。
	*/
	COleVariant		covOptional((long)DISP_E_PARAMNOTFOUND,VT_ERROR);

	// 创建EXCEL服务器(启动Excel) 
	if (::CoInitialize( NULL ) == E_INVALIDARG)
	{
		AfxMessageBox(_T("初始化Com失败!"));
		return FALSE;
                }
	if (!app.CreateDispatch("Excel.Application"))
	{
		AfxMessageBox("无法创建Excel应用!");
		return FALSE;
	}

	// 获取工作簿集合
	books = app.GetWorkbooks();
	// 添加一个工作簿
	book =books.Add(covOptional);
	// 获取工作表集合
	sheets = book.GetWorksheets();
	// 获取第一个工作表
	sheet = sheets.GetItem(COleVariant((short)1));
	// 选择工作表中A1:A1单元格区域
	range = sheet.GetRange(COleVariant("A1"),COleVariant("A1"));
	// 设置单元格内容
	range.SetValue2(COleVariant("角度"));
	range = sheet.GetRange(COleVariant("B1"),COleVariant("B1"));
	range.SetValue2(COleVariant("功率"));

	CString sCell;
	for(int i=0; i<360; i++)
	{
		sCell.Format("A%d",i+2);
		range = sheet.GetRange(COleVariant(sCell),COleVariant(sCell));
		range.SetValue2(COleVariant((short)(i)));	// 写入short型数据
		sCell.Format("B%d",i+2);
		range = sheet.GetRange(COleVariant(sCell),COleVariant(sCell));
		range.SetValue2(COleVariant((double)(m_dBandPowerArr[i])));// 写入double型数据
	}
	
	// 选择整列,设为宽度自适应
	cols = range.GetEntireColumn();
	cols.AutoFit();
	// 隐藏Excel表格,并设置状态为用户不可控制
	app.SetVisible(FALSE);
	app.SetUserControl(FALSE);
	
	// 保存文件
	book.SaveAs(COleVariant(fileName),covOptional,
		covOptional,covOptional,
		covOptional,covOptional,
		(long)0,covOptional,covOptional,covOptional,
		covOptional,covOptional);
	
	// 退出
	app.Quit();
	app.ReleaseDispatch();

	return TRUE;
}

 4.  调用

char BASED_CODE szFilterProgram[] = "Microsoft Office Excel 工作簿(*.xls)|*.xls||";
CTime time = CTime::GetCurrentTime();
CString fileName = time.Format("OBU%Y%m%d%H%M%S"); 			
CFileDialog fileSaveBox(FALSE,NULL,fileName,
                   OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,szFilterProgram);
fileSaveBox.m_ofn.lpstrTitle = "保存";
if(fileSaveBox.DoModal() == IDOK)
{
	CString sPath;
	sPath = fileSaveBox.GetPathName();
	if(CreateExcelFile(sPath))
		AfxMessageBox("保存成功!");
}

 

  • 描述: 图1
  • 大小: 47.4 KB
  • 描述: 图2
  • 大小: 44.3 KB
分享到:
评论

相关推荐

    Visual C++6.0实例教程

    《Visual C++6.0实例教程》是一份专为初学者设计的教程,旨在通过具体的实例来教授如何在Microsoft Visual C++ 6.0(简称VC++6.0)环境中进行C++编程。Visual C++6.0是微软公司发布的一款强大的集成开发环境,它不仅...

    Visual C++ 6.0范例入门与提高

    Visual C++ 6.0提供了丰富的文件I/O功能,如打开、读写文本和二进制文件,以及流式文件操作。通过实例,读者将学会如何读取和写入文件,以及进行更复杂的文件操作。 多线程编程在现代软件开发中越来越重要。Visual ...

    Visual C++ 6.0编程经典博览

    《Visual C++ 6.0编程经典博览》是一本深入探讨使用Microsoft的Visual C++ 6.0开发环境进行C++编程的教程。这本PDF档教程覆盖了从基础到高级的各种主题,旨在帮助读者全面掌握这个强大的集成开发环境(IDE)。 在...

    《Visual C++ 6.0实例教程》

    《Visual C++ 6.0实例教程》是一本专注于教授微软的C++集成开发环境——Visual C++ 6.0的书籍。这本书旨在通过丰富的实例,帮助初学者和有一定基础的程序员深入理解和掌握Visual C++ 6.0的使用方法和编程技巧。尽管...

    Visual C++ 6.0实用教程代码

    每个章节的代码示例都会帮助读者逐步建立起对Visual C++ 6.0的强大功能的理解,并提供实践操作的机会。通过学习和实践这些代码,开发者可以提升自己的编程技能,为开发更复杂的Windows应用程序打下坚实基础。同时,...

    Visual C++6.0实例源代码

    《Visual C++6.0实例源代码》是一个深入学习VC++编程的重要资源,它涵盖了从基础到高级的各种算法实现,旨在帮助开发者通过实践提升技能。这个压缩包包含了一个丰富的源代码集合,是针对Visual C++6.0环境的程序设计...

    Visual C++6.0从入门到精通系列教程

    《Visual C++6.0从入门到精通》是一套针对初学者和中级程序员设计的教程,旨在帮助读者全面掌握Visual C++6.0这一经典编程工具。本教程深入浅出地介绍了C++语言基础、MFC(Microsoft Foundation Classes)框架、...

    Visual C++ 6.0实用教程代码 适合初学者

    《Visual C++ 6.0实用教程代码》是一份针对初学者设计的编程学习资源,主要涵盖Microsoft的Visual C++ 6.0集成开发环境(IDE)的使用以及C++编程语言的基础知识。Visual C++ 6.0是微软发布的一个经典版本,尽管现在...

    Visual C++ 6.0实用教程》源代码

    《Visual C++ 6.0实用教程》是一本旨在帮助初学者和中级程序员掌握Microsoft的Visual C++ 6.0开发环境的经典教材。该书通过详细的实例和源代码,深入浅出地介绍了如何利用这个强大的集成开发环境进行Windows应用程序...

    Visual C++ 6.0程序设计与开发技术大全

    《Visual C++ 6.0程序设计与开发技术大全》是一部深入探讨Microsoft的Visual C++ 6.0集成开发环境(IDE)以及C++编程语言的权威著作。这本书旨在帮助初学者和经验丰富的开发者掌握利用Visual C++ 6.0进行高效、高...

    Visual C++ 6.0 实例教程

    **Visual C++ 6.0 实例教程** Visual C++ 6.0 是微软公司推出的一款集成开发环境,主要用于编写Windows应用程序。这个版本是许多程序员入门C++编程的经典选择,因其强大的功能和友好的用户界面而备受推崇。本实例...

    Microsoft Visual C++ 6.0语言参考手册

    《Microsoft Visual C++ 6.0语言参考手册》是一本专为编程者设计的重要资源,旨在深入理解并熟练掌握Visual C++ 6.0编程环境中的C++语言特性。这本手册涵盖了C++语言的基础知识,高级特性,以及Visual C++ 6.0特有的...

    Visual C++ 6.0 程序设计从入门到精通-源代码2至12章+使用说明

    6. **文件操作**:学习如何读写文件,包括文本文件和二进制文件,是任何编程语言中的常见任务,Visual C++ 6.0也不例外。 7. **调试技巧**:Visual Studio 6.0的调试工具是非常强大的,学习如何使用断点、单步执行...

    Visual C++ 6.0开发指南

    《Visual C++ 6.0开发指南》是一本专注于C++编程语言在Microsoft Visual C++ 6.0集成开发环境下的应用与实践的教程。这本书不仅涵盖了C++的基础知识,还深入介绍了如何利用Visual C++ 6.0进行高效、实用的软件开发,...

    visual c++6.0应用编程150例

    《Visual C++ 6.0应用编程150例》是一部深入浅出的教程,旨在帮助读者掌握使用Microsoft Visual C++ 6.0进行应用程序开发的技术。Visual C++ 6.0是微软发布的一个集成开发环境(IDE),它集成了C++编译器、调试器和...

    跟我学 VISUAL C++ 6.0.rar

    《跟我学 VISUAL C++ 6.0》是一份针对初学者和中级程序员设计的教程,旨在帮助读者全面掌握Visual C++ 6.0这款强大的Windows应用程序开发工具。Visual C++ 6.0是Microsoft公司发布的一个集成开发环境,它集成了C++...

    visual c++ 6.0编程高手

    《Visual C++ 6.0编程高手》一书聚焦于微软的C++开发环境——Visual C++ 6.0,该版本在20世纪末至21世纪初是许多开发者首选的C++集成开发环境(IDE)。这本书的目标是帮助读者从初学者成长为熟练的编程专家,涵盖了...

    Visual C++ 6.0完全自学手册

    《Visual C++ 6.0完全自学手册》是一本针对初学者和有一定基础的程序员设计的教程,旨在全面深入地介绍Microsoft的Visual C++ 6.0编程环境。这本书不仅涵盖了C++的基础语法,还详细讲解了如何在Visual Studio 6.0...

    《Visual C++ 6.0实例教程》源代码

    Visual C++ 6.0是微软发布的一个集成开发环境(IDE),支持C++编程,并且包含了一个功能丰富的调试器、资源编辑器以及对MFC(Microsoft Foundation Classes)库的全面支持,MFC是一套用于构建Windows应用程序的类库...

Global site tag (gtag.js) - Google Analytics