十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
vb.net是变成语言哦~用于写程序的,最后生成的文件的扩展名是.exe。程序的作用不限于计算数字等,还能实现其他复杂的功能,比如实现网络通信等等,和vb.net语言属于一类的还有c语言,c++,c#,java,python等等语言。
十多年的江口网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都营销网站建设的优势是能够根据用户设备显示端的尺寸不同,自动调整江口建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联公司从事“江口网站设计”,“江口网站推广”以来,每个客户项目都认真落实执行。
而excel函数仅用于计算公式,他不是一种语言,只能在excel文件中写,只能用excel运行。一旦脱离excel(比如你电脑没装excel)那你学的excel函数就完全不起作用了。excel文件最后生成的文件的扩展名是.xlsx(2010版)。
介于两者之间的是vba。就是写excel里面的“宏”的语言。难度高于excel函数,低于vb.net。你从vba开始学的话,可以两头都了解一点。
用EXCEL做企业生产报表的理由 Excel表格生成和公式设置十分强大便利 是一个强有力的信息分析与处理工具 特别是EXCEL的公式 函数 VBA语言 功能极其强大 我试用过其他电子表格软件 在功能上和EXCEL根本没有可比性 Visual Studio NET也同样是MicroSoft的产品 Visual Studio NET调用EXCEL做企业报表十分方便 证明当时我选Visual Studio NET作为首选开发工具是正确的 软件构思 先在EXCEL里定制好名为《统计表》的样表(模版) 在样表中设置好各种格式 填写好固定项 在窗体上放很三个控件 两个DateTimePicker控件 用来选择开始统计时间和结束统计时间 一个Button以启动程序 软件欲实现的功能是 点击Button 自动查找符合日期符合日期范围的生产计划工作表 然后利用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 Form _Load(ByVal sender As Object ByVal e As System EventArgs) Handles MyBase LoadDateTimePicker MaxDate = Date NowDateTimePicker MinDate = # / / #DateTimePicker MaxDate = Date NowDateTimePicker MinDate = # / / #End SubPrivate Sub 灶具分析统计()Call killEXCEL()Dim excelApp As New Excel ApplicationDim 佳尼 灶具生产计划 As Excel WorkbookDim 行号 As Integer = Dim 列号 As Integer = Dim 办事处计划数统计 As New SortedListDim 办事处完成数统计 As New SortedListDim 型号计划数统计 As New SortedListDim 型号完成数统计 As New SortedListDim 统计表 As Excel Worksheet Try佳尼 灶具生产计划 = excelApp Workbooks Open( E:\my documents\生产计划\佳尼 灶具生产计划 xls )统计表 = CType(佳尼 灶具生产计划 Worksheets( 统计表 ) Excel Worksheet)统计表 Cells( ) value = DateTimePicker Value ToShortDateString 统计开始日期统计表 Cells( ) value = DateTimePicker Value ToShortDateString 统计结束日期统计表 Range( c :z ) Value = 先清空统计表中原来有关数据统计表 Range( c :z ) Value = Dim 生产计划表 As Excel WorksheetFor Each 生产计划表 In 佳尼 灶具生产计划 Worksheets 遍历生产计划表If Strings Left(生产计划表 Name ) = Or Strings Left(生产计划表 Name ) = Then 如果是 或 开头的表名 因生产计划表名是 或 开头 MsgBox(生产计划表 Name)行号 = 生产计划表中生产数据从第四行开始列号 = 第 列是计划下发日期 从计划下发日期判断是否是所要数据Dim 临时行号 As Integer = 求得工作表中最后一行所在的行号 从第四行开始往下计算While 生产计划表 Cells(临时行号 列号) value Nothing MsgBox(生产计划表 Cells(行号 列号) value 行号)临时行号 += End While临时行号 = 得到生产计划表中 最后数据行所在的行号 MsgBox(临时行号)For 行号 = To 临时行号 生产计划标准格式行号从 开始 到工作表中最后一行If (CDate(DateTimePicker Value ToShortDateString) = CDate(生产计划表.Cells(行号, 列号).value)) And (CDate(DateTimePicker2.Value.ToShortDateString) = CDate(生产计划表 Cells(行号 列号) value)) Then 如果日期在规定范围内 灶具各城市分布情况Dim 城市 As String = 生产计划表 Cells(行号 ) value 第 列是城市名称Dim 计划数 As Decimal = CType(生产计划表 Cells(行号 ) value Decimal) 第 列是计划数Dim 完成数 As Decimal = CType(生产计划表 Cells(行号 ) value Decimal) 第 列是实际完成数Dim 未完成数 As Decimal = 用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 IDictionaryEnumerator = 办事处计划数统计.GetEnumeratorWhile 办事处计划数Enum.MoveNext办事处计划数统计副本.Add(办事处计划数Enum.Value + asa, 办事处计划数Enum.Key)asa += 0.001End While'这里利用SortedList自动排序的功能Dim i As Integer = 1For 列号 = 3 To 3 + 城市数 - 1 '从第三列开始填写数据,这是预先定义的格式统计表.Cells(行号, 列号).value = 办事处计划数统计副本.GetByIndex(城市数clone - i) '城市统计表.Cells(行号 + 1, 列号).value = 办事处计划数统计副本.GetKey(城市数clone - i) '计划数统计表.Cells(行号 + 2, 列号).value = 办事处完成数统计.Item(办事处计划数统计副本 .GetByIndex(城市数clone - i)) '计划数i += 1Next'以型号计划数多少排序Dim 型号计划数统计副本 As New SortedList办事处计划数Enum = 型号计划数统计.GetEnumeratorWhile 办事处计划数Enum.MoveNext型号计划数统计副本.Add(办事处计划数Enum.Value + asa, 办事处计划数Enum.Key)asa += 0.001' MsgBox(办事处计划数Enum.Valu lishixinzhi/Article/program/net/201311/11282
使用 ADO 连接到 Excel
ADO 使用 MDAC 中以下两个 OLE DB 提供程序中的任何一个都可以连接到 Excel 数据文件。
Microsoft Jet OLE DB Provider — 或 —Microsoft OLE DB Provider for ODBC Drivers
使用 Microsoft Jet OLE DB Provider
Jet 提供程序只需要两条信息就可以连接到 Excel 数据源:路径(包括文件名),和 Excel 文件版本。
Jet 提供程序使用连接字符串
Dim cn as ADODB.Connection
Set cn = New ADODB.Connection
With cn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source=C:\MyFolder\MyWorkbook.xls;" _
"Extended Properties=Excel 8.0;"
.Open
End With
提供程序版本:必须使用 Jet 4.0 提供程序;Jet 3.51 提供程序不支持 Jet ISAM 驱动程序。如果指定了 Jet 3.51 提供程序,在运行时会出现以下错误信息:
Couldn't find installable ISAM.
Excel 版本:对于 Excel 95 工作簿(Excel 版本 7.0),应指定 Excel 5.0;对于 Excel 97、Excel 2000 或 Excel 2002 (XP) 工作簿(Excel 版本 8.0、9.0 和 10.0),应指定 Excel 8.0 版本。
使用“数据链接属性”对话框的 Jet 提供程序
如果在应用程序中使用“ADO 数据控件”或“数据环境”,就会出现数据链接属性对话框来收集必要的连接设置。
在提供程序选项卡上,选择 Jet 4.0 提供程序;Jet 3.51 提供程序不支持 Jet ISAM 驱动程序。如果指定了 Jet 3.51 提供程序,在运行时会出现以下错误信息:
Couldn't find installable ISAM.
在连接选项卡上,浏览到工作簿文件。忽略“用户 ID”和“密码”项,因为这些不适用于 Excel 连接。(无法打开受密码保护的 Excel 文件作为数据源。)
在所有选项卡上,从列表中选择扩展属性,然后单击编辑值。输入 Excel 8.0;,用分号 (;) 将其与任何其他已有的项分隔。如果忽略此步骤,测试连接时将出现一条错误信息。这是因为如果不另行指定,Jet 提供程序期望 Microsoft Access 数据库。返回到连接选项卡,并单击测试连接。将出现一个消息框,通知测试已成功完成即可。