VB.NET结合EXCEL统计生产报表
点击次数:21 次 发布日期:2008-11-06 08:06:02 作者:源代码网
|
开发工具:Microsoft Visual Studio .NET 2003 操作系统:Windows XP 用EXCEL做企业生产报表的理由 Excel表格生成和公式设置十分强大便利,是一个强有力的信息分析与处理工具。特别是EXCEL的公式、函数、VBA语言,功能极其强大。我试用过其他电子表格软件,在功能上和EXCEL根本没有可比性。我为EXCEL的功能所折服,特别搜集整理了电子书——《EXCEL应用宝典》,放到网上供大家下载学习。欲助己,先助人,这也是我一贯的学习哲学。 Visual Studio .NET也同样是MicroSoft的产品,Visual Studio .NET调用EXCEL做企业报表十分方便。 证明当时我选Visual Studio .NET作为首选开发工具是正确的。 软件构思 软件构思是这样的: 先在EXCEL里定制好名为《统计表》的样表(模版),,在样表中设置好各种格式,填写好固定项。 在窗体上放很三个控件,两个DateTimePicker控件,用来选择开始统计时间和结束统计时间。一个Button以启动程序。 软件欲实现的功能是:点击Button1,自动查找符合日期符合日期范围的生产计划工作表,然后利用SortedList统计各个办事处的计划数量和未完成数量,及各个产品型号的计划数量和未完成数量。再把SortedList的数据读出写到《统计表》中。 这里要注意的是,各个生产报表格式必须规范统一,因为程序是按照固定单元格位置读取数据的。 SortedList类 除了具备VB.NET调用EXCEL的基础知识外,本例主要用到SortedList类。 SortedList类表示键/值对的集合,这些键和值按键排序并可按照键和索引访问。 SortedList 是 Hashtable 和 Array 的混合。当使用 Item 索引器属性按照元素的键访问元素时,其行为类似于 Hashtable。当使用 GetByIndex 或 SetByIndex 按照元素的索引访问元素时,其行为类似于 Array。 SortedList 在内部维护两个数组以将数组存储到列表中;即,一个数组用于键,另一个数组用于相关联的值。每个元素都是一个可作为 DictionaryEntry 对象进行访问的键/值对。键不能为空引用(Visual Basic 中为 Nothing),但值可以。 SortedList 的容量是列表可拥有的元素数。随着向 SortedList 中添加元素,容量通过重新分配按需自动增加。可通过调用 TrimToSize 或通过显式设置 Capacity 属性减少容量。 SortedList 的元素将按照特定的 IComparer 实现(在创建 SortedList 时指定)或按照键本身提供的 IComparable 实现并依据键来进行排序。不论在哪种情况下,SortedList 都不允许重复键。 软件开发网 www.mscto.com 索引顺序基于排序顺序。当添加元素时,元素将按正确的排序顺序插入 SortedList,同时索引会相应地进行调整。若移除了元素,索引也会相应地进行调整。因此,当在 SortedList 中添加或移除元素时,特定键/值对的索引可能会更改。 由于要进行排序,所以在 SortedList 上操作比在 Hashtable 上操作要慢。但是,SortedList 允许通过相关联键或通过索引对值进行访问,可提供更大的灵活性。 此集合中的索引从零开始。 [Visual Basic, C#] C# 语言中的 foreach 语句(在 Visual Basic 中为 for each)需要集合中每个元素的类型。由于 SortedList 的每个元素都是一个键/值对,因此元素类型既不是键的类型,也不是值的类型。而是 DictionaryEntry 类型。例如: 源代码网推荐 源代码网供稿. |
