C++中实现把表的数据导出到EXCEL并打印实例代码

2025-05-27 0 51

实现把表的数据导出到EXCEL并打印实例代码

首先加入这两句:

?

1
#include "utilcls.h" #include "comobj.hpp"

下面正式开始:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79
void __fastcall TMainForm::ToExcel(TADOQuery *TT,AnsiString str)

{//TT为被导出数据的表,str为命令(具体看代码底部的if语句)

#define PG OlePropertyGet

#define PS OlePropertySet

#define FN OleFunction

#define PR OleProcedure

Variant excel;

try

{

excel=CreateOleObject("Excel.Application"); //启动Excel

}

catch(...)

{

ShowMessage("无法启动Excel,请检查是否已经安装EXCEL!");

}

excel.PS("Visible", (Variant)true); //使Excel启动后可见

excel.PG("workbooks").FN("Add", 1); //单工作表

for(int i=0;i<TT->FieldCount;i++) //首先给EXCEL添加表的字段名

{

excel.Exec(PropertyGet("Cells")<<1<<i+1).Exec(PropertySet("Value")<<TT->FieldList->Strings[i]);

}

for(int j=0;j<TT->FieldCount;j++)//按字段排列

{ TT->First();

for(int i=0;i<TT->RecordCount;i++)//按数据顺序排雷

{

excel.Exec(PropertyGet("Cells")<<i+2<<j+1).Exec(PropertySet("Value")<<TT->FieldByName(TT->FieldList->Strings[j])->AsString);

TT->Next();

}

}

if(str=="导出"){}//如果是导出,就什么都不干

if(str=="打印")//如果是打印

excel.OlePropertyGet("ActiveWorkBook").OlePropertyGet("ActiveSheet").OleFunction("PrintOut");

if(str=="打印浏览")//如果是打印浏览

excel.OlePropertyGet("ActiveWorkBook").OlePropertyGet("ActiveSheet").OleFunction("PrintPreview");

excel.~Variant();

}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 C++中实现把表的数据导出到EXCEL并打印实例代码 https://www.kuaiidc.com/73735.html

相关文章

发表评论
暂无评论