电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > DOC文档下载
分享到微信 分享到微博 分享到QQ空间

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

  • 资源ID:433166555       资源大小:59.50KB        全文页数:10页
  • 资源格式: DOC        下载积分:15金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要15金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

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

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的数据读出写到统计表中。这里要注意的是,各个生产报表格式必须规范统一,因为程序是按照固定单元格位置读取数据的。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 都不允许重复键。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灶具生产计划 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").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 <> Nothing'MsgBox(生产计划表.Cells(行号, 列号).value, , 行号)临时行号 += 1End While临时行号 -= 1 '得到生产计划表中,最后数据行所在的行号' MsgBox(临时行号)For 行号 = 4 To 临时行号 '生产计划标准格式行号从4开始,到工作表中最后一行 If (CDate(DateTimePicker1.Value.ToShortDateString) <= CDate(生产计划表.Cells(行号, 列号).value) And (CDate(DateTimePicker2.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 InStr(城市, "葫芦岛") <> 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设计统计生产报表的方法)为本站会员(工****)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.