社区
ATL
帖子详情
怎样用VC删除EXCEL表中的一行?
nietsche
2009-11-08 05:34:32
还有怎样获取单元格?(比如"A1")
(使用ole操作excel)。
...全文
173
1
打赏
收藏
怎样用VC删除EXCEL表中的一行?
还有怎样获取单元格?(比如"A1") (使用ole操作excel)。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
nietsche
2009-11-08
打赏
举报
回复
没有操作过excel表?
网上资料很乱啊!而且有那么多是.Net的。
VC
操控
Excel
文件
将
VC
控制
EXCEL
文件的一些基本方法封装成了一个名叫C
Excel
App的类,本人也是新手,
VC
学习4个月,大家共同学习。 /*------------------------------------------------------------------------------------------ 使用示例: CString strFilePath; // xls文件路径 CString strErrInfo; // 获取文件全路径 CFileDialog dlgFile( TRUE, _T("*.xls"), _T("*.xls"), OFN_HIDEREADONLY | OFN_ENABLESIZING | OFN_EXPLORER | OFN_NONETWORKBUTTON | OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST, _T("
Excel
工作簿 (*.xls)|*.xls||"), this ); if ( dlgFile.DoModal() != IDOK ) return; strFilePath = dlgFile.GetPathName(); C
Excel
App
Excel
App; //
Excel
环境初始化
Excel
App.m_bVisible = TRUE; // 设置xls文件被打开时是否可视 if( !
Excel
App.Init
Excel
App() ) { strErrInfo = _T("创建
Excel
服务失败!"); return; } // 打开xls文件
Excel
App.Open( strFilePath ); // 选择sheet页 //
Excel
App.SelectSheet( _T("sheet2") );
Excel
App.SelectSheet( 2 ); // 合并单元格 //
Excel
App.MergeRange(
Excel
App.GetRange( 1, 1, 2, 2 ) );
Excel
App.MergeRange(
Excel
App.GetRange( _T("C1"), _T("C2") ) ); // 插入图片
Excel
App.PictureInsert(
Excel
App.GetRange( _T("C1"), _T("C2") ), _T("D:\\My Documents\\My Pictures\\未命名.jpg"), FALSE ); //
删除
行
Excel
App.DeleteRow( nRow ); // 保存文件
Excel
App.Save(); // 释放所有应用
Excel
App.ReleaseAll();
利用
VC
++向
excel
表中
保存数据
通过本文及配套示例源码你可以更加灵活的控制
Excel
表格文件,其中包括创建新
Excel
文件、写入表格数据、读取表格数据(包括对原建
Excel
文件自已手工添加的行、列数据的准确读取),
删除
已有
Excel
表格,对表格中指定行、列、单元格进行查询、插入、替换等操作,同时还可以将生成的
Excel
文件转换为按指定分隔符分隔的其它文本格式的文件。下面是把此方法用
VC
6编写的示例程序运行效果
用
VC
#.NET开发交互式CAD系统
用
VC
#.NET开发交互式CAD系统,包括结合GDI+和OPENGL两种方案。 联系平台客服可开发票。
CSpreadSheet修改版演示
VC
2003中的7.1 版本打开, 1. 在一个
excel
文件中,读取不同sheet需要多次打开该文件(DataBase)(多次后就可能需要几秒钟) ----修改了 2. DeleteSheet存在问题, 改为EmptySheet, 但需要外部调用commit,可以和修改表同时执行 3. 表
删除
后可能存在空行, 通过参数设置是否读取空行, 默认不读取 4.
删除
表后,如果没有重新创建, 表格为空, 改后让其只有
一行
"F1;F2;F3;....",(F1表示第
一行
第一列值) www.zhuyi123.cn助益信息网经常有新的信息 助益网---这是我的个人小站,有空帮忙踩下....
VC
6使用word2003生成报表的示例
摘要:当用户需要对报表需要重新编辑的时候,用
Excel
或者Word生成报表就会比XML或者HTML的方式更加合理。但是由于Word的组件在使用时候要导入很多类,如果直接加在工程中会使其看上去很乱,所以封装到DLL中是个不错的主意。本文在前人经验指导下对一些常用的操作做了简单的封装,功能由从DLL中导出类CWordOperate提供。 关键字:Word2003,MFC扩展DLL,报表,CWordOperate 一、 鉴于www.
vc
kbase.com中已经有文章对
vc
使用word生成报表方式做详细的论述,这里不准备对此赘述。仅仅介绍封装类CWordOperate中的函数和DLL的使用。#include "msword.h"class AFX_EXT_CLASS CWordOperate {public: CWordOperate(); virtual ~CWordOperate(); BOOL CreateWordApp(BOOL bShow); // 创建一个word应用程序 void DeleteApp(); // 用后,
删除
void ShowApp(BOOL bShow); // 显示,或者隐藏 void QuitApp(); // 关闭外部打开的word应用程序 BOOL NewDoc(CString tpName); // 根据模板创建文档 void SaveDoc(CString Filename); // 保存文档到文件路径 void TypeText(CString Text); // 在当前位置输入文字 void SetTextAlign(int val); // 设置文字对齐方式 void SetTextColor(COLORREF cr); // 设置文本颜色 void AddPic(CString FileName); // 在当前位置插入图片文件 void RunMacro(CString macroName); // 运行一个宏 void AddTable(int nRow, int nCol); // 加一个几行几列的表格 void AddTable(int nRow, int nCol, int autoFit); // 加一个几行几列的表格,列宽度自动 void SelectTable(int i); // 选择当前文档中的第i个表格 void MoveToTableNext(int iTable); // 把选择区指向表格后面 void SetCellText(int iTable, int iRow, int iCol, CString text); // 设置第i个表格中的某行某列的文字 void SetTableTextVAlign(int iTable, int val); // 置第i个表格中文字对齐方式 void SetColWidth(int iTable, int iCol, float width); // 设置列宽度 void SetRowHeight(int iTable, int iRow, float height); // 设置行高度 // 合并两个单元格之间的区域 void MergeCell(int iTable, int cell1Row, int cell1Col, int cell2Row, int cell2Col, CString text); // 设置单元格文本颜色 void SetCellTextColor(int iTable, int iRow, int iCol, COLORREF cr); // 设置单元格背景颜色 void SetCellColor(int iTable, int iRow, int iCol, COLORREF crCell); // 设置单元格边框的四周风格, void SetCellBorderStyle(int iTale, int iRow, int iCol, int sTop, int sLeft, int sBottom, int sRight); // 设置两个单元格之间的区域,边框的四周风格, void SetCellsBorderStyle(int iTable, int iRow1, int iCol1, int iRow2, int iCol2,int sTop, int sLeft, int sBottom, int sRight); // 设置两个单元格之间的区域,背景颜色 void SetCellsColor(int iTable, int iRow1, int iCol1, int iRow2, int iCol2, COLORREF crCell); CString ToString(); protected: _Application app; // 应用程序 Selection sel; // 用来存放获得的选择范围 _Document saveDoc; // 当前活动文档 COleVariant vTrue; // 常量TRUE COleVariant vFalse; COleVariant vOpt;};二、使用DLL中导出类的方法:#include "WordOperate.h"#pragma comment(lib, "wordDll.lib")在类中定义成员: CWordOperate wordFile;使用示例:// 创建文件 CString str;COLORREF crCell = RGB(240, 240, 240);char buffer[255];wordFile.CreateWordApp(TRUE);GetCurrentDirectory(254, buffer);strcat(buffer, "\\tp.doc");wordFile.NewDoc(buffer); // 表格使用wordFile.AddTable(8, 11);wordFile.SelectTable(1);wordFile.MergeCell(iTable, 1, 6, 1, 8, "频域数据");crCell = RGB(255, 0, 0);wordFile.SetCellColor(iTable, 3, 2, crCell);wordFile.MoveToTableNext(1);// 写文字wordFile.TypeText("二. 分析图:\r\n");// 插入图片GetCurrentDirectory(254, buffer);strcat(buffer, "\\chart.jpg");wordFile.AddPic(buffer);// 保存文件,
删除
对象GetCurrentDirectory(254, buffer);strcat(buffer, "\\测试报表.doc");wordFile.SaveDoc(buffer);wordFile.DeleteApp();// 也可以在
删除
对象前先关闭程序wordFile.QuitApp();三、使用压缩包的测试程序,按钮二能提供的效果如下图:图一 Word报表效果屏幕截图四、说明:开发环境为:
vc
6 + sp6 + xp_sdkWord版本:2003企业版压缩包说明:wordDll为库的代码,TestDll为使用示例,宏.txt是格式化段落的宏附加:如果想知道函数中使用的值应该为多少,可以在Word操作的时候录制宏,然后使用单步调试的方式得到想要的值。注:本着开源的精神,把这个使用过的类和大家分享,希望大家有用,如果有错误的地方,希望指正,谢谢
ATL
3,245
社区成员
48,539
社区内容
发帖
与我相关
我的任务
ATL
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
复制链接
扫一扫
分享
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章