电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

VB.Net中Excel设计统计生产报表的方法

10页
  • 卖家[上传人]:工****
  • 文档编号:433166555
  • 上传时间:2022-10-09
  • 文档格式:DOC
  • 文档大小:59.50KB
  • / 10 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、VB.Net中Excel设计统计生产报表的方法作者:tuenhai 来源:天极网 更新时间:2007-11-10 用EXCEL做企业生产报表的理由 Excel表格生成和公式设置十分强大便利,是一个强有力的信息分析与处理工具。特别是EXCEL的公式、函数、VBA语言,功能极其强大。我试用过其他电子表格软件,在功能上和EXCEL根本没有可比性。Visual Studio .NET也同样是MicroSoft的产品,Visual Studio .NET调用EXCEL做企业报表十分方便。证明当时我选Visual Studio .NET作为首选开发工具是正确的。 软件构思先在EXCEL里定制好名为统计表的样表(模版),在样表中设置好各种格式,填写好固定项。在窗体上放很三个控件,两个DateTimePicker控件,用来选择开始统计时间和结束统计时间。一个Button以启动程序。软件欲实现的功能是:点击Button1,自动查找符合日期符合日期范围的生产计划工作表,然后利用SortedList统计各个办事处的计划数量和未完成数量,及各个产品型号的计划数量和未完成数量。再把SortedList的数据读出

      2、写到统计表中。这里要注意的是,各个生产报表格式必须规范统一,因为程序是按照固定单元格位置读取数据的。SortedList类除了具备VB.NET调用EXCEL的基础知识外,本例主要用到SortedList类。SortedList类表示键/值对的集合,这些键和值按键排序并可按照键和索引访问。SortedList 是 Hashtable 和 Array 的混合。当使用 Item 索引器属性按照元素的键访问元素时,其行为类似于 Hashtable。当使用 GetByIndex 或 SetByIndex 按照元素的索引访问元素时,其行为类似于 Array。SortedList 在内部维护两个数组以将数组存储到列表中;即,一个数组用于键,另一个数组用于相关联的值。每个元素都是一个可作为 DictionaryEntry 对象进行访问的键/值对。键不能为空引用(Visual Basic 中为 Nothing),但值可以。SortedList 的容量是列表可拥有的元素数。随着向 SortedList 中添加元素,容量通过重新分配按需自动增加。可通过调用 TrimToSize 或通过显式设置 Capaci

      3、ty 属性减少容量。SortedList 的元素将按照特定的 IComparer 实现(在创建 SortedList 时指定)或按照键本身提供的 IComparable 实现并依据键来进行排序。不论在哪种情况下,SortedList 都不允许重复键。VB.NET结合EXCEL统计生产报表以下是实现代码,供参考。为方便初学者,部份地方加以注释。Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load DateTimePicker1.MaxDate = Date.NowDateTimePicker1.MinDate = #1/1/2004#DateTimePicker2.MaxDate = Date.NowDateTimePicker2.MinDate = #1/1/2004#End SubPrivate Sub 灶具分析统计() Call killEXCEL()Dim excelApp As New Excel.ApplicationDim 佳尼2004灶

      4、具生产计划 As Excel.WorkbookDim 行号 As Integer = 1Dim 列号 As Integer = 1Dim 办事处计划数统计 As New SortedListDim 办事处完成数统计 As New SortedListDim 型号计划数统计 As New SortedListDim 型号完成数统计 As New SortedListDim 统计表 As Excel.Worksheet Try佳尼2004灶具生产计划 = excelApp.Workbooks.Open(E:my documents生产计划佳尼2004灶具生产计划.xls)统计表 = CType(佳尼2004灶具生产计划.Worksheets(统计表), Excel.Worksheet)统计表.Cells(1, 3).value = DateTimePicker1.Value.ToShortDateString 统计开始日期统计表.Cells(1, 7).value = DateTimePicker2.Value.ToShortDateString 统计结束日期统计表.Range(c4:z6

      5、).Value = 先清空统计表中原来有关数据统计表.Range(c9:z11).Value = Dim 生产计划表 As Excel.WorksheetFor Each 生产计划表 In 佳尼2004灶具生产计划.Worksheets 遍历生产计划表If Strings.Left(生产计划表.Name, 1) = 0 Or Strings.Left(生产计划表.Name, 1) = 1 Then 如果是0或1开头的表名,因生产计划表名是0或1开头MsgBox(生产计划表.Name)行号 = 4 生产计划表中生产数据从第四行开始列号 = 14 第14列是计划下发日期。从计划下发日期判断是否是所要数据Dim 临时行号 As Integer = 4 求得工作表中最后一行所在的行号,从第四行开始往下计算While 生产计划表.Cells(临时行号, 列号).value NothingMsgBox(生产计划表.Cells(行号, 列号).value, , 行号)临时行号 += 1End While临时行号 -= 1 得到生产计划表中,最后数据行所在的行号 MsgBox(临时行号)For 行号

      6、= 4 To 临时行号 生产计划标准格式行号从4开始,到工作表中最后一行 If (CDate(DateTimePicker1.Value.ToShortDateString) = CDate(生产计划表.Cells(行号, 列号).value) Then 如果日期在规定范围内灶具各城市分布情况Dim 城市 As String = 生产计划表.Cells(行号, 3).value 第3列是城市名称Dim 计划数 As Decimal = CType(生产计划表.Cells(行号, 7).value, Decimal) 第7列是计划数Dim 完成数 As Decimal = CType(生产计划表.Cells(行号, 11).value, Decimal) 第11列是实际完成数Dim 未完成数 As Decimal = 0 用Decimal是因为后面要加小数If 完成数 计划数 Then 如果没有完成未完成数 = 计划数 - 完成数End IfIf 城市 ThenIf InStr(城市, 沈阳) 0 Or InStr(城市, 鞍山) 0 Or InStr(城市, 哈尔滨) 0 Or InS

      7、tr(城市, 葫芦岛) 0 ThenIf 办事处计划数统计.Contains(沈阳) Then办事处计划数统计.Item(沈阳) += 计划数Else办事处计划数统计.Add(沈阳, 计划数)End IfIf 办事处完成数统计.Contains(沈阳) Then办事处完成数统计.Item(沈阳) += 未完成数Else办事处完成数统计.Add(沈阳, 未完成数)End IfElseIf 办事处计划数统计.Contains(城市) Then办事处计划数统计.Item(城市) += 计划数Else办事处计划数统计.Add(城市, 计划数)End IfIf 办事处完成数统计.Contains(城市) Then办事处完成数统计.Item(城市) += 未完成数Else办事处完成数统计.Add(城市, 未完成数)End IfEnd IfElseMsgBox(生产计划表.Name & 没有城市名称, MsgBoxStyle.Critical, 生产计划中要有城市名称)excelApp.Visible = True生产计划表.Activate()生产计划表.Select()End If以下计算灶具型号分布情况Dim 型号 As String = Strings.Left(生产计划表.Cells(行号, 2).value, 3) 灶具型号在第3列If 型号计划数统计.Contains(型号) Then型号计划数统计.Item(型号) += 计划数Else型号计划数统计.Add(型号, 计划数)End IfIf 型号完成数统计.Contains(型号) Then型号完成数统计.Item(型号) += 未完成数Else型号完成数统计.Add(型号, 未完成数)End IfEnd IfNextEnd IfNextDim 城市数 As Integer = 办事处计划数统计.CountDim 城市数clone As Integer = 办事处计划数统计.Count行号 = 4依计划数大小排序Dim 办事处计划数统计副本 As New SortedListDim asa As Decimal = 0.001 加上此数是为了防止键值的重复,在工作表中可选不显示小数Dim 办事处计划数Enum As IDictionaryEnumer

      《VB.Net中Excel设计统计生产报表的方法》由会员工****分享,可在线阅读,更多相关《VB.Net中Excel设计统计生产报表的方法》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.