2、全局变量和枚举常量 (转)

本文介绍如何使用Excel对象模型创建图表,包括定义全局变量、枚举常量及图表类型的设置。通过实例展示了数据从数据库到Excel工作表再到图表的传递过程。
2、全局变量和枚举常量 (转)[@more@]首先我们要定义一些 excel 对象变量:

Private oExcelApp As Excel.Application Private oExcelSheet As Excel.Worksheet Public oExcelChart As Excel.Chart

 
 

   oExcelApp对象代表着一个独立的Excel应用实例。它由ExcelChart组件初始化和维护,在整个ExcelChart组件的生存期内、直至组件被拆除之前均是如此。oExcelSheet对象保存了包含所有数据和标签的工作表(Worksheet),这些数据和标签将用来绘制图表。从前面的对象层次图可以看出,工作簿(Workbook)对象包含工作表对象,而应用对象(Application)又包含了工作簿对象。

   如本文第一部分所示,用来绘制图表的数据原来保存在sql数据库,后来以记录集对象的形式传递。数据首先保存到这里的工作表,然后又被传递给oExcelChart对象。oExcelChart对象是MS Excel的Chart对象,帮助文件说它“代表工作簿中的图表。该图表既可为嵌入式图表,也可为一个分开的图表工作表。”我们使用的是分开的图表工作表。

Public Enum xlChartType xlColumnClustered = 51 xl3DColumnClustered = 54 xl3DColumn = -4100 .. End Enum Public Enum xlChartFillEffect msoGradientEarlySunset = 1 msoGradientLateSunset = 2 msoGradientNightfall = 3 msoGradientDaybreak = 4 .. End Enum

 
 

   xlChartType常量定义了传递给SetChartType()函数的图表类型,xlChartFillEffect是可应用于图表的各种背景。本文第一部分所显示的图表应用了msoGradientCalmWater和msoGradientChrome背景。这些枚举常量的完整列表既可以从Visual Basic/Visual Interdev等带自动完成功能的开发工具得到,或者也可以从本文下载包中的ExcelChart.inc文件得到。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752043/viewspace-988504/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10752043/viewspace-988504/

### 如何使用枚举类创建全局变量 在编程中,枚举(Enum)类型是一种特殊的数据结构,用于定义一组命名常量。尽管枚举通常被视为常量集合的容器,但它们也可以包含方法属性,从而实现更复杂的功能。通过将枚举与静态变量结合,可以实现一种形式的全局变量定义使用。 #### 定义带有属性的枚举枚举类不仅可以包含常量值,还可以包含构造函数成员变量。例如,在Java中,可以通过为枚举添加属性来存储额外的信息[^4]。以下是一个示例,展示如何定义一个带有价格属性的水果枚举: ```java public enum Fruits { Apple(1.1), Watermelon(2.2), Banana(3.3), Orange(4.4); private double price; Fruits(double price) { this.price = price; } public double getPrice() { return price; } } ``` #### 使用枚举作为全局变量 虽然枚举本身不是传统的“全局变量”,但由于其常量性质作用域限定,它可以作为一种全局访问的方式。枚举的每个实例在整个程序中是唯一的,并且可以通过直接引用其名称进行访问。以下是如何使用上述 `Fruits` 枚举作为全局变量的示例: ```java public class EnumUsageExample { public static void main(String[] args) { // 访问枚举中的全局变量 System.out.println("Price of Apple: " + Fruits.Apple.getPrice()); System.out.println("Price of Watermelon: " + Fruits.Watermelon.getPrice()); // 遍历所有枚举值 for (Fruits fruit : Fruits.values()) { System.out.printf("Fruit: %s, Price: %.2f%n", fruit.name(), fruit.getPrice()); } } } ``` #### 结合静态变量实现更复杂的全局状态 如果需要在枚举中维护某种全局状态,可以通过添加静态变量来实现。例如,下面的示例展示了如何使用静态变量跟踪某个资源的使用次数: ```java public enum ResourceTracker { INSTANCE; private static int usageCount = 0; public void incrementUsage() { usageCount++; } public int getUsageCount() { return usageCount; } } ``` 使用时,可以通过 `ResourceTracker.INSTANCE.incrementUsage()` 增加计数器,并通过 `ResourceTracker.INSTANCE.getUsageCount()` 获取当前计数值。 #### 注意事项 - 枚举的实例在整个应用程序生命周期中是固定的,因此适合用作全局常量或状态容器[^3]。 - 如果需要动态修改值,应确保线程安全,尤其是在多线程环境中[^5]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值