欢迎来到天天文库
浏览记录
ID:15541924
大小:59.50 KB
页数:10页
时间:2018-08-03
《vb.net中excel设计统计生产报表的方法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、VB.Net中Excel设计统计生产报表的方法作者:tuenhai 来源:天极网 更新时间:2007-11-10 用EXCEL做企业生产报表的理由 Excel表格生成和公式设置十分强大便利,是一个强有力的信息分析与处理工具。特别是EXCEL的公式、函数、VBA语言,功能极其强大。我试用过其他电子表格软件,在功能上和EXCEL根本没有可比性。 VisualStudio.NET也同样是MicroSoft的产品,VisualStudio.NET调用EXCEL做企业报表十分方便。证明当时我选VisualStudio.NET作为首选开发工具是正确的。 软件
2、构思 先在EXCEL里定制好名为《统计表》的样表(模版),,在样表中设置好各种格式,填写好固定项。 在窗体上放很三个控件,两个DateTimePicker控件,用来选择开始统计时间和结束统计时间。一个Button以启动程序。 软件欲实现的功能是:点击Button1,自动查找符合日期符合日期范围的生产计划工作表,然后利用SortedList统计各个办事处的计划数量和未完成数量,及各个产品型号的计划数量和未完成数量。再把SortedList的数据读出写到《统计表》中。 这里要注意的是,各个生产报表格式必须规范统一,因为程序是按照固定单元格位置读取数据的。 S
3、ortedList类 除了具备VB.NET调用EXCEL的基础知识外,本例主要用到SortedList类。 SortedList类表示键/值对的集合,这些键和值按键排序并可按照键和索引访问。 SortedList是Hashtable和Array的混合。当使用Item索引器属性按照元素的键访问元素时,其行为类似于Hashtable。当使用GetByIndex或SetByIndex按照元素的索引访问元素时,其行为类似于Array。 SortedList在内部维护两个数组以将数组存储到列表中;即,一个数组用于键,另一个数组用于相关联的值。每个元素都是一个可作为D
4、ictionaryEntry对象进行访问的键/值对。键不能为空引用(VisualBasic中为Nothing),但值可以。 SortedList的容量是列表可拥有的元素数。随着向SortedList中添加元素,容量通过重新分配按需自动增加。可通过调用TrimToSize或通过显式设置Capacity属性减少容量。 SortedList的元素将按照特定的IComparer实现(在创建SortedList时指定)或按照键本身提供的IComparable实现并依据键来进行排序。不论在哪种情况下,SortedList都不允许重复键。 VB.NET结合EXCEL统计生
5、产报表 以下是实现代码,供参考。为方便初学者,部份地方加以注释。PrivateSubForm1_Load(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesMyBase.Load DateTimePicker1.MaxDate=Date.Now DateTimePicker1.MinDate=#1/1/2004# DateTimePicker2.MaxDate=Date.Now DateTimePicker2.MinDate=#1/1/2004#EndSubPrivateSub灶具分析统计() Callkil
6、lEXCEL() DimexcelAppAsNewExcel.Application Dim佳尼2004灶具生产计划AsExcel.Workbook Dim行号AsInteger=1 Dim列号AsInteger=1 Dim办事处计划数统计AsNewSortedList Dim办事处完成数统计AsNewSortedList Dim型号计划数统计AsNewSortedList Dim型号完成数统计AsNewSortedList Dim统计表AsExcel.Worksheet' Try 佳尼2004灶具生产计划=excelApp.Workbooks.Open("E:
7、mydocuments生产计划佳尼2004灶具生产计划.xls") 统计表=CType(佳尼2004灶具生产计划.Worksheets("统计表"),Excel.Worksheet) 统计表.Cells(1,3).value=DateTimePicker1.Value.ToShortDateString'统计开始日期 统计表.Cells(1,7).value=DateTimePicker2.Value.ToShortDateString'统计结束日期 统计表.Range("c4:z6").Value=""'先清空统计表中原来有关数据 统计表.Ran
8、ge("c
此文档下载收益归作者所有