• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > excel作报表

excel作报表

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了销售报表excel模板,财务报表模板excel,excel制作财务报表,excel做财务报表,excel采购报表模板等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: excel作报表
描述:

现在需要用vc写一个读取指定的Excel模板,然后查找指定字符,进行替换,最后直接打印该页。注意不保存。
  看过以前的帖子,应该不难,但是没有一个人能给出比较详细的例子,vckbase上的我都看过乐,并没有符合要求。
  不知道哪位高手&热心人能给一段例程?谢谢了,分不够再加。


解决方案1:

COleVariant vtOptional((long)DISP_E_PARAMNOTFOUND,
VT_ERROR),vtTrue((short)TRUE),vtFalse((short)FALSE);
_Application *ExcelApp = new _Application;
ExcelApp->CreateDispatch("excel.application");
//设置为显示
ExcelApp->SetVisible(TRUE);
//得到WorkBooks
Workbooks  ExcelBook=ExcelApp->GetWorkbooks();
Sheets     ExcelSheet=ExcelBook.Add(vtOptional);
_Workbook  workBook;
_Worksheet workSheet;
Range    range;
workBook.AttachDispatch(ExcelApp->GetApplication());
ExcelSheet=workBook.GetSheets();
////////////////////////////////////////////
workSheet=ExcelSheet.GetItem(COleVariant((short)1));
workSheet.Activate();
Range myallrange=workSheet.GetRange(COleVariant("A1"),COleVariant("D1"));
//myallrange.BorderAround(COleVariant((short)1),(long)2,(long)1,vtOptional);
myallrange.SetHorizontalAlignment(COleVariant((short)3));
myallrange.Merge(COleVariant((short)1));
myallrange.SetValue(COleVariant("个人信息表"));
Range myrange=workSheet.GetRange(COleVariant("A2"),COleVariant("A2"));
myrange.SetValue(COleVariant("姓名"));
myrange.BorderAround(COleVariant((short)1),(long)2,(long)1,vtOptional);
myrange.SetHorizontalAlignment(COleVariant((short)3));
myrange.SetVerticalAlignment(COleVariant((short)2));
myrange.SetColumnWidth(COleVariant((short)15));
myrange=workSheet.GetRange(COleVariant("B2"),COleVariant("B2"));
myrange.SetValue(COleVariant("性别"));
myrange.BorderAround(COleVariant((short)1),(long)2,(long)1,vtOptional);
myrange.SetHorizontalAlignment(COleVariant((short)3));
myrange.SetVerticalAlignment(COleVariant((short)2));
myrange.SetColumnWidth(COleVariant((short)15));
myrange=workSheet.GetRange(COleVariant("C2"),COleVariant("C2"));
myrange.SetValue(COleVariant("QQ"));
myrange.BorderAround(COleVariant((short)1),(long)2,(long)1,vtOptional);
myrange.SetHorizontalAlignment(COleVariant((short)3));
myrange.SetVerticalAlignment(COleVariant((short)2));
myrange.SetColumnWidth(COleVariant((short)15));
myrange=workSheet.GetRange(COleVariant("D2"),COleVariant("D2"));
myrange.SetValue(COleVariant("Email"));
myrange.BorderAround(COleVariant((short)1),(long)2,(long)1,vtOptional);
myrange.SetHorizontalAlignment(COleVariant((short)3));
myrange.SetVerticalAlignment(COleVariant((short)2));
myrange.SetColumnWidth(COleVariant((short)17));
CString str;
for(int i=3;i<=5;i++)
{
str.Format("A%d",i);
Range myrange=workSheet.GetRange(COleVariant(str),COleVariant(str));
myrange.SetValue(COleVariant("相生昌"));
myrange.BorderAround(COleVariant((short)1),(long)2,(long)1,vtOptional);
myrange.SetHorizontalAlignment(COleVariant((short)3));
myrange.SetVerticalAlignment(COleVariant((short)2));
str.Format("B%d",i);
myrange=workSheet.GetRange(COleVariant(str),COleVariant(str));
myrange.SetValue(COleVariant("男"));
myrange.BorderAround(COleVariant((short)1),(long)2,(long)1,vtOptional);
myrange.SetHorizontalAlignment(COleVariant((short)3));
myrange.SetVerticalAlignment(COleVariant((short)2));
str.Format("C%d",i);
myrange=workSheet.GetRange(COleVariant(str),COleVariant(str));
myrange.SetValue(COleVariant("16432884"));
myrange.BorderAround(COleVariant((short)1),(long)2,(long)1,vtOptional);
myrange.SetHorizontalAlignment(COleVariant((short)3));
myrange.SetVerticalAlignment(COleVariant((short)2));
str.Format("D%d",i);
myrange=workSheet.GetRange(COleVariant(str),COleVariant(str));
myrange.SetValue(COleVariant("superxsc@126.com"));
myrange.BorderAround(COleVariant((short)1),(long)2,(long)1,vtOptional);
myrange.SetHorizontalAlignment(COleVariant((short)3));
myrange.SetVerticalAlignment(COleVariant((short)2));
}
delete ExcelApp;

解决方案2:

http://www.vckbase.com/document/viewdoc/?id=1168
至于打印,应该不是什么难事,没做过,懒得试试,望楼主见谅


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • excel作报表

相关文章

  • 2017-06-05 用vc做的程序界面太单调了,非常羡慕游戏里的界面~
  • 2017-06-05 如何打开dll文件
  • 2017-06-04 RMGetlicense
  • 2017-06-04 请问在ActiveX控件的方法中,怎样添加数组参数和自定义的数据参数
  • 2017-06-05 在程序内如何以其他用户的身份启动一个进程?
  • 2017-06-04 初学ATL-》》》我建了ATL工程,没有改任何设置,但外部不能调用!??
  • 2017-06-04 组件调用出错!
  • 2017-06-05 做了个视频采集处理程序,我需要循环检测视频的变化,线程中存在for;;,可否避免?谢谢,在线等
  • 2017-06-04 全部身家求大牛解答,怎么把_ConnectionPtr变量当参数传进COM
  • 2017-06-04 关于自动化服务端关闭的问题

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 如何在线程里用对话框控件对应的变量?如何刷新对话框?
    • 如何在MFC中客户端程序中注册控件?
    • 關於鍵盤鉤子的問題!
    • 关于MFC如何操作photoshop
    • ActiveX定义方法的VARIANT型参数问题
    • 每个Win32进程都有一个栈。栈是有限存储空间的资源。我想问,一个进程启动后,默认的栈有多大;如果在进程运行过程中,出现栈耗尽的情况会有什么后果?
    • owc中自定义菜单问题
    • VC中,怎么样能得到一个只有DLL的COM组件的CLSID?
    • 加密与解密的API问题
    • 关闭IE后,不执行ExitInstance

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有