




已阅读5页,还剩67页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
V操作excel实例以前做了vb6.0操作excel的实例,后来转换成c#操作excel,再后来又转换成操作excel,通过比较,同样是运行在。.net环境下,但是明显要比c#快很多。我做的是成绩统计软件,一个窗体。俩控件:菜单和打开文件对话框。 子程序目录:1、算成绩(m)。2、成绩册(m)。3、横排(h,l)。4、纵排(h,l)。5、单科统计表(m,n)。6、算分栏(h)。7、单科汇总(i)。8、填数据(m)。9、清数据(m)。10、上报表(m)。11、工作表命名()。12、过成绩(m)。13、打开()。14、建空表(m)。15、无英语学校汇总(m)。16、有英语学校汇总(m)。17、计算器。编码主要分为主程序和子程序两个模块。注意:要添加引用excel。Imports System.IOPublic Class 统计成绩 Public 调用 = New 子程序() Public 电子表格 As Excel.Application 定义变量 Public 工作簿 As Excel.Workbook Public 工作表 As Excel.Worksheet Public 单元格 As Excel.Range Private Sub 一年级ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 一年级ToolStripMenuItem.Click Call 调用.建空表(10) Call 调用.工作表命名(1) Call 调用.成绩册(1) End Sub Private Sub 二年级ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 二年级ToolStripMenuItem.Click Call 调用.建空表(10) Call 调用.工作表命名(2) Call 调用.成绩册(2) End Sub Private Sub 三年级ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 三年级ToolStripMenuItem.Click Call 调用.建空表(8) Call 调用.工作表命名(3) Call 调用.成绩册(3) End Sub Private Sub 四年级ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 四年级ToolStripMenuItem.Click Call 调用.建空表(8) Call 调用.工作表命名(3) Call 调用.成绩册(3) End Sub Private Sub 五年级ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 五年级ToolStripMenuItem.Click Call 调用.建空表(8) Call 调用.工作表命名(3) Call 调用.成绩册(3) End Sub Private Sub 六年级ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 六年级ToolStripMenuItem.Click Call 调用.建空表(8) Call 调用.工作表命名(3) Call 调用.成绩册(3) End Sub Private Sub 学校总评ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 学校总评ToolStripMenuItem.Click Call 调用.建空表(1) Dim nj(6) As String nj(1) = 一年级 : nj(2) = 二年级 : nj(3) = 三年级 : nj(4) = 四年级 : nj(5) = 五年级 : nj(6) = 六年级 建立积分表 Dim 工作表 = 调用.工作簿.Worksheets(sheet1) 工作表.Name = 学校积分 工作表.Range(工作表.Cells(1, 1), 工作表.Cells(1, 9).MergeCells = True 工作表.Cells(1, 1) = 学校积分统计表 工作表.Cells(2, 1) = 学校 工作表.Cells(3, 1) = 南村小学 工作表.Cells(4, 1) = 东风小学 工作表.Cells(5, 1) = 兴中小学 工作表.Cells(6, 1) = 尧场小学 For i = 1 To 6 工作表.Cells(2, i + 1) = nj(i) + 积分 Next 工作表.Cells(2, 8) = 均积分 工作表.Cells(2, 9) = 名次 工作表.Range(工作表.Cells(2, 1), 工作表.Cells(6, 9).Borders.LineStyle = 1 表格加线 Dim h = 6, l = 9 单元格 = 工作表.Range(工作表.Cells(1, 1), 工作表.Cells(h, l) 设置行高和列宽 单元格.HorizontalAlignment = Excel.Constants.xlCenter 水平居中 单元格.RowHeight = 工作表.Application.CentimetersToPoints(Math.Round(21.3 - 3 * 2) / h, 2) 工作表.Range(工作表.Cells(2, 1), 工作表.Cells(11, 1).ColumnWidth = 16.13 工作表.Range(工作表.Cells(2, 2), 工作表.Cells(h, l).ColumnWidth = Math.Round(29.7 - 3.69 - 1.9 * 2) / (l - 1) * 4.374, 2) 工作表.PageSetup.Orientation = Excel.XlPageOrientation.xlLandscape 横向打印 End Sub Private Sub 上报ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 上报ToolStripMenuItem.Click Call 调用.建空表(2) 调用.上报表() End Sub Private Sub 全部表册ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 全部表册ToolStripMenuItem.Click Directory.CreateDirectory(C:Documents and SettingsAdministrator桌面成绩统计) 建立文件夹 调用.建空表(10) 一年级 Call 调用.工作表命名(1) : Call 调用.成绩册(1) 调用.工作簿.SaveAs(C:Documents and SettingsAdministrator桌面成绩统计一年级.xls) 调用.工作簿.close() 调用.电子表格.quit() 调用.建空表(10) 二年级 Call 调用.工作表命名(2) : Call 调用.成绩册(2) 调用.工作簿.SaveAs(C:Documents and SettingsAdministrator桌面成绩统计二年级.xls) 调用.工作簿.close() 调用.电子表格.quit() 调用.建空表(8) 三年级 Call 调用.工作表命名(3) : Call 调用.成绩册(3) 调用.工作簿.SaveAs(C:Documents and SettingsAdministrator桌面成绩统计三年级.xls) 调用.工作簿.close() 调用.电子表格.quit() 调用.建空表(8) 四年级 Call 调用.工作表命名(4) : Call 调用.成绩册(4) 调用.工作簿.SaveAs(C:Documents and SettingsAdministrator桌面成绩统计四年级.xls) 调用.工作簿.close() 调用.电子表格.quit() 调用.建空表(8) 五年级 Call 调用.工作表命名(5) : Call 调用.成绩册(5) 调用.工作簿.SaveAs(C:Documents and SettingsAdministrator桌面成绩统计五年级.xls) 调用.工作簿.close() 调用.电子表格.quit() 调用.建空表(8) 六年级 Call 调用.工作表命名(6) : Call 调用.成绩册(6) 调用.工作簿.SaveAs(C:Documents and SettingsAdministrator桌面成绩统计六年级.xls) 调用.工作簿.close() 调用.电子表格.quit() Call 调用.建空表(1) 学校总评 Dim nj(6) As String nj(1) = 一年级 : nj(2) = 二年级 : nj(3) = 三年级 : nj(4) = 四年级 : nj(5) = 五年级 : nj(6) = 六年级 建立积分表 Dim 工作表 = 调用.工作簿.Worksheets(sheet1) 工作表.Name = 学校积分 工作表.Range(工作表.Cells(1, 1), 工作表.Cells(1, 9).MergeCells = True 工作表.Cells(1, 1) = 学校积分统计表 工作表.Cells(2, 1) = 学校 工作表.Cells(3, 1) = 南村小学 工作表.Cells(4, 1) = 东风小学 工作表.Cells(5, 1) = 兴中小学 工作表.Cells(6, 1) = 尧场小学 For i = 1 To 6 工作表.Cells(2, i + 1) = nj(i) + 积分 Next 工作表.Cells(2, 8) = 均积分 工作表.Cells(2, 9) = 名次 工作表.Range(工作表.Cells(2, 1), 工作表.Cells(6, 9).Borders.LineStyle = 1 表格加线 Dim h = 6, l = 9 单元格 = 工作表.Range(工作表.Cells(1, 1), 工作表.Cells(h, l) 设置行高和列宽 单元格.HorizontalAlignment = Excel.Constants.xlCenter 水平居中 单元格.RowHeight = 工作表.Application.CentimetersToPoints(Math.Round(21.3 - 3 * 2) / h, 2) 工作表.Range(工作表.Cells(2, 1), 工作表.Cells(11, 1).ColumnWidth = 16.13 工作表.Range(工作表.Cells(2, 2), 工作表.Cells(h, l).ColumnWidth = Math.Round(29.7 - 3.69 - 1.9 * 2) / (l - 1) * 4.374, 2) 工作表.PageSetup.Orientation = Excel.XlPageOrientation.xlLandscape 横向打印 调用.工作簿.SaveAs(C:Documents and SettingsAdministrator桌面成绩统计学校总评.xls) 调用.工作簿.close() 调用.电子表格.quit() Call 调用.建空表(2) 调用.上报表() 调用.工作簿.SaveAs(C:Documents and SettingsAdministrator桌面成绩统计上报.xls) 调用.工作簿.close() 调用.电子表格.quit() MessageBox.Show(生成的成绩统计文件夹已存在桌面。) End Sub Private Sub 计算器ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 计算器ToolStripMenuItem.Click System.Diagnostics.Process.Start(calc.exe) End Sub Private Sub 一年级ToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 一年级ToolStripMenuItem1.Click 调用.打开() 调用.填数据(1) End Sub Private Sub 二年级ToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 二年级ToolStripMenuItem1.Click 调用.打开() 调用.填数据(2) End Sub Private Sub 三年级ToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 三年级ToolStripMenuItem1.Click 调用.打开() 调用.填数据(3) End Sub Private Sub 四年级ToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 四年级ToolStripMenuItem1.Click 调用.打开() 调用.填数据(4) End Sub Private Sub 五年级ToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 五年级ToolStripMenuItem1.Click 调用.打开() 调用.填数据(5) End Sub Private Sub 六年级ToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 六年级ToolStripMenuItem1.Click 调用.打开() 调用.填数据(6) End Sub Private Sub 一年级ToolStripMenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 一年级ToolStripMenuItem2.Click 调用.打开() 调用.清数据(1) End Sub Private Sub 二年级ToolStripMenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 二年级ToolStripMenuItem2.Click 调用.打开() 调用.清数据(2) End Sub Private Sub 三年级ToolStripMenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 三年级ToolStripMenuItem2.Click 调用.打开() 调用.清数据(3) End Sub Private Sub 四年级ToolStripMenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 四年级ToolStripMenuItem2.Click 调用.打开() 调用.清数据(4) End Sub Private Sub 五年级ToolStripMenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 五年级ToolStripMenuItem2.Click 调用.打开() 调用.清数据(5) End Sub Private Sub 六年级ToolStripMenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 六年级ToolStripMenuItem2.Click 调用.打开() 调用.清数据(6) End Sub Private Sub 全部填ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 全部填ToolStripMenuItem.Click Dim 电子表格 As New Excel.Application() 一年级 电子表格.Visible = True 调用.工作簿 = 电子表格.Workbooks.Open(C:Documents and SettingsAdministrator桌面成绩统计一年级.xls) 调用.填数据(1) 调用.工作簿.Save() 调用.工作簿.close() 电子表格.Quit() Dim 电子表格2 As New Excel.Application() 二年级 电子表格2.Visible = True 调用.工作簿 = 电子表格2.Workbooks.Open(C:Documents and SettingsAdministrator桌面成绩统计二年级.xls) 调用.填数据(2) 调用.工作簿.Save() 调用.工作簿.close() 电子表格2.Quit() Dim 电子表格3 As New Excel.Application() 三年级 电子表格3.Visible = True 调用.工作簿 = 电子表格3.Workbooks.Open(C:Documents and SettingsAdministrator桌面成绩统计三年级.xls) 调用.填数据(3) 调用.工作簿.Save() 调用.工作簿.close() 电子表格3.Quit() Dim 电子表格4 As New Excel.Application() 四年级 电子表格4.Visible = True 调用.工作簿 = 电子表格4.Workbooks.Open(C:Documents and SettingsAdministrator桌面成绩统计四年级.xls) 调用.填数据(4) 调用.工作簿.Save() 调用.工作簿.close() 电子表格4.Quit() Dim 电子表格5 As New Excel.Application() 五年级 电子表格5.Visible = True 调用.工作簿 = 电子表格5.Workbooks.Open(C:Documents and SettingsAdministrator桌面成绩统计五年级.xls) 调用.填数据(5) 调用.工作簿.Save() 调用.工作簿.close() 电子表格5.Quit() Dim 电子表格6 As New Excel.Application() 六年级 电子表格6.Visible = True 调用.工作簿 = 电子表格2.Workbooks.Open(C:Documents and SettingsAdministrator桌面成绩统计六年级.xls) 调用.填数据(6) 调用.工作簿.Save() 调用.工作簿.close() 电子表格6.Quit() End Sub Private Sub 全部清ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 全部清ToolStripMenuItem.Click Dim 电子表格 As New Excel.Application() 一年级 电子表格.Visible = True 调用.工作簿 = 电子表格.Workbooks.Open(C:Documents and SettingsAdministrator桌面成绩统计一年级.xls) 调用.清数据(1) 调用.工作簿.Save() 调用.工作簿.close() 电子表格.Quit() Dim 电子表格2 As New Excel.Application() 二年级 电子表格2.Visible = True 调用.工作簿 = 电子表格2.Workbooks.Open(C:Documents and SettingsAdministrator桌面成绩统计二年级.xls) 调用.清数据(2) 调用.工作簿.Save() 调用.工作簿.close() 电子表格2.Quit() Dim 电子表格3 As New Excel.Application() 三年级 电子表格3.Visible = True 调用.工作簿 = 电子表格3.Workbooks.Open(C:Documents and SettingsAdministrator桌面成绩统计三年级.xls) 调用.清数据(3) 调用.工作簿.Save() 调用.工作簿.close() 电子表格3.Quit() Dim 电子表格4 As New Excel.Application() 四年级 电子表格4.Visible = True 调用.工作簿 = 电子表格4.Workbooks.Open(C:Documents and SettingsAdministrator桌面成绩统计四年级.xls) 调用.清数据(4) 调用.工作簿.Save() 调用.工作簿.close() 电子表格4.Quit() Dim 电子表格5 As New Excel.Application() 五年级 电子表格5.Visible = True 调用.工作簿 = 电子表格5.Workbooks.Open(C:Documents and SettingsAdministrator桌面成绩统计五年级.xls) 调用.清数据(5) 调用.工作簿.Save() 调用.工作簿.close() 电子表格5.Quit() Dim 电子表格6 As New Excel.Application() 六年级 电子表格6.Visible = True 调用.工作簿 = 电子表格2.Workbooks.Open(C:Documents and SettingsAdministrator桌面成绩统计六年级.xls) 调用.清数据(6) 调用.工作簿.Save() 调用.工作簿.close() 电子表格6.Quit() End Sub Private Sub 一年级ToolStripMenuItem3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 一年级ToolStripMenuItem3.Click 调用.打开() 调用.算成绩(1) 调用.过成绩(1) 调用.单科汇总() 调用.无英语学校汇总(1) End Sub Private Sub 二年级ToolStripMenuItem3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 二年级ToolStripMenuItem3.Click 调用.打开() 调用.算成绩(2) 调用.过成绩(2) 调用.单科汇总() 调用.无英语学校汇总(2) End Sub Private Sub 三年级ToolStripMenuItem3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 三年级ToolStripMenuItem3.Click 调用.打开() 调用.算成绩(3) 调用.过成绩(3) 调用.单科汇总() 调用.有英语学校汇总(3) End Sub Private Sub 四年级ToolStripMenuItem3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 四年级ToolStripMenuItem3.Click 调用.打开() 调用.算成绩(4) 调用.过成绩(4) 调用.单科汇总() 调用.有英语学校汇总(4) End Sub Private Sub 五年级ToolStripMenuItem3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 五年级ToolStripMenuItem3.Click 调用.打开() 调用.算成绩(5) 调用.过成绩(5) 调用.单科汇总() 调用.有英语学校汇总(5) End Sub Private Sub 六年级ToolStripMenuItem3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 六年级ToolStripMenuItem3.Click 调用.打开() 调用.算成绩(6) 调用.过成绩(6) 调用.单科汇总() 调用.有英语学校汇总(6) End Sub Private Sub 子程序目录ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 子程序目录ToolStripMenuItem.Click System.Diagnostics.Process.Start(程序清单.doc) End SubEnd ClassPublic Class 子程序 Public 电子表格 As Excel.Application 定义变量 Public 工作簿 As Excel.Workbook Public 工作表 As Excel.Worksheet Public 单元格 As Excel.Range Dim gbrs(6, 8) As Integer Dim hgrs(6, 8) As Integer Public Structure banji Dim xkrs As Integer 学科人数 Dim xkzf As Integer 学科总分 Dim xkjgr As Integer 学科及格人数 Dim xkyxr As Integer 学科优秀人数 Dim xkjunf As Long 学科均分 Dim xkjf As Long 学科积分 End Structure Public Structure chji Dim nji As String 年级 Dim xm As String 校名 Dim kh As String 考号 Dim xs As String 学生姓名 Dim ywcj As String 语文成绩 Dim sxcj As String 数学成绩 Dim yycj As String 英语成绩 End Structure Dim xx() As String = 南村1, 南村2, 兴中, 东风, 尧场, 峪头, 普乐塬, 西沟 Dim kmb() As String = 语文, 数学, 英语 Dim nj() As String = , 一年级, 二年级, 三年级, 四年级, 五年级, 六年级 Dim chj(300) As chji 全局变量Public Function junf(ByRef rs As Double, ByRef zf As Double) As Double 算均分的函数 Return Math.Round(zf / rs, 2) End Function Public Function jf(ByRef rs As Double, ByRef zf As Double, ByRef jgr As Double, ByRef yxr As Double) 算积分的函数 Return Math.Round(zf / rs * 0.6 + jgr / rs * 25 + yxr / rs * 15, 2) End Function Dim bj(6, 8, 3) As banji Dim path As String Dim chjjs = 0 Sub 建空表(ByRef m) 电子表格 = CreateObject(Excel.Application) 创建EXCEL对象 电子表格.SheetsInNewWorkbook = m 创建工作簿 工作簿 = 电子表格.Workbooks.Add 电子表格.Visible = True 设置EXCEL对象可见(或不可见) End Sub Sub 工作表命名(ByRef m) If m 2 Then 为三至六年级工作簿中的每张工作表命名 For i = 1 To 5 Dim 工作表 = 工作簿.Worksheets(i) 工作表.Name = xx(i - 1) Next For j = 1 To 3 Dim 工作表 = 工作簿.Worksheets(5 + j) 工作表.Name = kmb(j - 1) Next End If End Sub Sub 成绩册(ByRef m) gbrs(1, 1) = 31 : gbrs(1, 2) = 31 : gbrs(1, 3) = 23 : gbrs(1, 4) = 28 : gbrs(1, 5) = 13 : gbrs(1, 6) = 17 : gbrs(1, 7) = 10 : gbrs(1, 8) = 10 gbrs(2, 1) = 35 : gbrs(2, 2) = 35 : gbrs(2, 3) = 36 : gbrs(2, 4) = 22 : gbrs(2, 5) = 21 : gbrs(2, 6) = 19 : gbrs(2, 7) = 17 : gbrs(2, 8) = 12 gbrs(3, 1) = 36 : gbrs(3, 2) = 36 : gbrs(3, 3) = 45 : gbrs(3, 4) = 39 : gbrs(3, 5) = 17 gbrs(4, 1) = 41 : gbrs(4, 2) = 41 : gbrs(4, 3) = 38 : gbrs(4, 4) = 42 : gbrs(4, 5) = 21 gbrs(5, 1) = 39 : gbrs(5, 2) = 39 : gbrs(5, 3) = 39 : gbrs(5, 4) = 49 : gbrs(5, 5) = 17 gbrs(6, 1) = 42
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 智能家居合同欺诈案例分析与构成要件探究
- 2025湖北公务员面试题及答案
- 吊顶施工与室内防虫防鼠合同
- 汽车租赁公司股东权益与智能交通合作协议范本
- 智能金融创新-洞察及研究
- 生成对抗网络稳定性与收敛性的联合优化研究-洞察及研究
- 航天科技研发个人连带责任保证担保合同
- 文艺复兴复调发展-洞察及研究
- 专业安保考试题目及答案
- 专业素养面试题目及答案
- GB/T 22751-2008台球桌
- 中国近代史试题库
- 电路学课件:1-6 电压源和电流源
- 奥的斯GeN2-故障查找手册-1-CN
- 村民森林防火承诺书
- 税法(第三版)项目一任务三增值税应纳税额的计算
- 系统数据导出确认单
- Q∕SY 01004-2016 气田水回注技术规范
- TSG Z8002-2022 特种设备检验人员考核规则
- 植物组织培养论文 月季
- QC∕T 900-1997 汽车整车产品质量检验评定方法
评论
0/150
提交评论