1、江西现代职业技术学院毕业设计(论文) 题目:生 产 过 程 监 控 系 统姓 名 杨佛根 学 院 信息工程学院 专 业 软件技术 班 级 10软件(1)班 指导 教师 单文增 提交 时间 2012年 10月 31日 摘要:分析21世纪以来,人类经济高速发展,人们发生了日新月异的变化,特别是计算机的应用及普及到经济和社会生活的各个领域。使原本的旧的管理方法越来越不适应现在社会的发展。许多人还停留在以前的手工操作。这大大地阻碍了人类经济的发展。为了适应现代社会人们高度强烈的时间观念,生产过程监控系统能为企业带来了极大的方便。中小型的加工零售企业在日常的工作中,由于日积月累的加工生产,所累积下来的不
2、管是客户或者是生意方面都有着丰厚的资源,但是人脑不是电脑,对于这方面的数据遗忘性很大。所以对于中小型加工零售企业迫切的需要一款生产过程监控管理系统,维护自己企业的客户资料,以往生意记录等等信息。关键词:C/S架构;数据库;生产过程;Abstract :analysis of the 21st century, the human economy high speed development, great changes took place in the people, especially the application of computer and spread to all field
3、s of economic and social life. Make originally old methods of management more and more does not adapt now the development of the society. Many people are still stay in a previous manual operation. This has greatly hindered the economic development of human beings. In order to adapt to the modern soc
4、iety people highly strong concept of time, the production process monitoring system for enterprise brought great convenience. Small and medium-sized processing retail enterprise in daily work, as accumulate over a long period processing production, the accumulated whether customers or business has r
5、ich resources, but the human brain is not the computer, for this data amnesic great. So for the small and medium-sized processing retail enterprises urgently need a new production process monitoring management system, to maintain their enterprise customer material, previous business record, etc.Keyw
6、ords: C/S structure; Database;Production process目录引 言11 基础知识31.1 背景与意义31.2 开发方法31.2.1 C#语言介绍41.2.2 SQL Server 2008数据库优点41.2.3 运行环境的选择52 系统需求分析62.1 系统功能概述62.1.1 系统功能需求62.1.2 用例分析82.1.3 类图分析82.2 系统性能要求92.2.1 系统时间特性要求92.2.2 系统灵活性92.2.3 数据管理能力要求102.3 可行性分析102.3.1 技术可行性102.3.2 经济可行性102.3.3 操作可行性103 系统概要设
7、计113.1 系统总体设计方案113.2 系统数据流图123.3 系统活动图143.4 系统数据库设计153.4.1 数据库需求分析153.4.2 数据库概念设计(E-R图)153.4.3 数据库逻辑设计184 系统的详细设计234.1 系统主要功能模块设计234.1.1 登录模块流程234.1.2 进货管理流程244.1.3 销售管理流程244.1.4 库存管理流程254.2 系统主要功能模块实现264.2.1 登录模块实现264.2.2 进货管理模块实现274.2.3 销售管理模块实现284.2.4 库存管理模块实现294.2.5 权限管理模块实现305 系统测试325.1 系统测试步骤3
8、25.1.1 单元测试325.1.2 集成测试325.1.3 确认测试335.2 系统测试345.2.1 界面测试345.2.2 功能测试34结 论36致 谢37参考文献38附录 附录清单A39附录 附录清单B46V江西现代职业技术学院10届软件技术毕业论文引 言分析21世纪以来,人类经济高速发展,人们发生了日新月异的变化,特别是计算机的应用及普及到经济和社会生活的各个领域。使原本的旧的管理方法越来越不适应现在社会的发展。许多人还停留在以前的手工操作。这大大地阻碍了人类经济的发展。为了适应现代社会人们高度强烈的时间观念,生产过程监控系统能为企业带来了极大的方便。中小型的加工零售企业在日常的工作
9、中,由于日积月累的加工生产,所累积下来的不管是客户或者是生意方面都有着丰厚的资源,但是人脑不是电脑,对于这方面的数据遗忘性很大。所以对于中小型加工零售企业迫切的需要一款生产过程监控管理系统,维护自己企业的客户资料,以往生意记录等等信息。本文中共分5章。第一章基础知识,主要讲生产过程监控系统的背景、意义,开发方法及开发工具简介;第二章系统需求分析,主要讲系统功能需求、性能需求及可行性分析;第三章概要设计,主要介绍系统工作流程、功能结构图及数据库表设计;第四章详细设计,主要讲各个功能的工作流程及具体的实现过程。第五章系统测试,主要介绍系统使用的测试方法及测试用例并计算系统的稳态可用性。每章附有本章
10、重点介绍的功能图例及详细讲解,帮助理解系统的各部分功能。51江西现代职业技术学院10届软件技术毕业论文1 基础知识1.1 背景与意义随着现代科学技术的迅猛发展,计算机技术已经渗透到各个领域,成为各行业必不可少的工具,特别是Internet技术的推广和信息高速公路的建立,使IT产业在市场竞争中越发显示出其独特的优势,步入信息化时代,有巨大的数据信息等待加工处理和传输,这使得对数据库的进一步开发和利用显得尤为迫切。本系统依据开发要求主要应用于中小型加工零售企业,完成对日常的生产工作中对生产过程前后的数字化管理。开发本系统可使企业拥有者减轻工作压力,比较系统地对客户从下订单到进货、加工、安装、收费等
11、一系列流程的控制,提高服务的质量,质量一词越来越成为当今社会使用频率最高的词汇之一,质量是企业的生命已成为全社会认可的金条玉律。一个真正有生命的企业是因为有着厚重的质量基础作保障的。我们随企业风风雨雨走来,在这期间,我们得到了优良的质量带给我们的实惠和荣誉;也体味到了蹩脚的质量带给我们的苦果和伤害。质优则实、则荣;质劣则虚、则耻。一个企业的质量形象是靠每一位员工精心打造出来的,任何一个岗位的疏忽和轻视都会对企业的整体质量造成不同程度的影响。 上的各项服务和信息进行管理,同时,可以减少劳动力的使用,加快查询速度、加强管理,以及国家各部门关于信息化的步伐,使各项管理更加规范化。 本系统的出现一方面
12、能够有效的提高客户对企业生产的满意度,另一方面也可使企业管理人员对自己企业所有的生产前后的过程、库存、售后等有效把握。1.2 开发方法本系统采用C#作为前台开发工具。后台数据库采用SQL Server 2008数据库,因为它的灵活性、安全性和易用性为数据库编程提供了良好的条件。利用三层结构技术,即表示层、逻辑层、数据服务层1。这三层被分成三个相对独立的单元。表示层负责与用户交互,并把相应的请求通过调用中间层的组件传递给逻辑层;逻辑层通过组件执行具体的事务逻辑,通过SQL等方式向第三层的组件提出数据或其他资源请求。表示层在客户端的应用浏览器中运行,数据访问也在专用的数据库服务器上运行。采用三层结
13、构能很好的解决软件的可扩展性、安全性、管理性等关键问题。1.2.1 C#语言介绍C#是一种安全的、稳定的、简单的,由C和C+衍生出来的面向对象的编程语言。它在继承C和C+强大功能的同时去掉了一些它们的复杂特性(例如没有宏和模板,不允许多重继承)2。C#综合了VB简单的可视化操作和C+的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。C#语言的主要优点大概可以归纳如下:1、语法简洁:C#取消了指针、也不定义繁琐的伪关键字;它使用有限地指令、修饰符合操作符,语法上几乎不存在任何冗余,整个语言结构十分清晰。初学者通常能够快速掌握C#
14、基本特性,而C/C+程序员转入C#则几乎不会有什么障碍。2、完全面向对象:C#具有面向对象的语言所应有的基本特性:封装、继承和多态性。它禁止多继承,禁止各种全局方法、全局变量和常量。C#以类为基础来构建所有的类型,并通过命名空间对代码进行层次化的组织和管理。许多精巧的对象设计模式都在C#语言中得到了有效的应用。 3、目标软件的安全性:C#符合通用类型系统的类型安全性要求,并用CLR所提供的代码访问安全特性,从而能够在程序中方便的配置安全等级和用户权限。此外,垃圾收集机制自动管理对象的生命周期,这是的开发人员无需再负担内存管理的任务,应用程序的可靠性进一步得到提高。4、版本管理技术:C#语言中内
15、置了版本控制功能,并通过接口和继承来实现应用的可扩展性3。应用程序的维护和升级更加易于管理。5、灵活性与兼容性:C#中允许使用非托管代码来与其他程序(包括COM组件、WIN32API等)进行集成和交互。它还可以通过委托(delegate)来模拟织针的功能,通过接口来模拟多继承的实现。1.2.2 SQL Server 2008数据库优点SQL Server 2008的一个重要设计目标就是提高默认状态下的安全系数。为了缩小被攻击范围,最危险的一些特性都被禁用,除非数据库管理员启用它们。这有所帮助,不过 对有经验的数据库管理员来说帮助不大。他们基本上会编写锁定脚本,觉得安装时加以运行不是很麻烦。安全
16、方面真正重要的改进则是密码管理和权限分配方面。现 在可以设置原始SQL密码来顾及Windows密码政策,这意味着用户可以要求SQL密码拥有与Windows账户同样的密码强度、失效日期、历史、锁定 阈值、锁定时间及生命期等政策,甚至可以要求用户在下次登录时更改密码。安全方面的其他重要改进还包括:加强了对模式变更的控制、能够对数据进行列级加密。SQL Server 2008不但克服了高可用性和灾难恢复方面的缺点,还几乎在各个方面都有了全面改进:管理任务得到了简化;监控和诊断功能得到了增强;默认的锁定配置、数 据加密及其他新特性增强了安全。如今,分析服务(Analysis Services)、报表服
17、务(Reporting Services)和数据挖掘(Data Mining)全面集成,而且已经很成熟。数据转换服务(DTS)已从头到尾经过了改写,已逐渐成为更强大、更灵活的SQL服务器集成服务(SSIS)。与Visual Studio和.Net/CLR的集成,把SQL Server的内部机制展现给了.Net开发人员、把.Net的内部机制展现给了SQL开发人员。这意味着,现在就可以利用.Net的强大功能,用于存储过程、数据流和数据转换、商业智能等应用的。 1.2.3 运行环境的选择由于计算机发展迅速,为将来升级的考虑,这里所提供的硬件设备要比能够运行该系统所需要的最低硬件标准高出一些。1软件环
18、境:操作系统:采用Windows XP或Windows 2003以上;开发工具:Microsoft SQL Server 2008 ;C#2硬件环境:CPU:Intel Pentium(R) 4以上;内存:2G;硬盘:320G;网卡:100M。 2 系统需求分析 软件需求分析就是把软件计划期间建立的软件可行性分析求精和细化,分析各种可能的解法,并且分配给各个软件元素。需求分析是软件定义阶段中的最后一步,是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。需求分析是介于系统分析和软件设计阶段之间的重要桥梁。一方面,需求分析以系统规格说明和项目规划为分析活动的基本出发点,
19、并从软件角度对它们进行检查与调整;另一方面,需求规格说明又是软件设计、实现、测试直至维护的主要基础4。良好的分析活动有助于避免或尽早剔除早期错误,从而提高软件生产率,降低开发成本,改进软件质量。2.1 系统功能概述本系统主要完成超市管理(仓库信息管理,商品信息采购,商品出库,商品信息管理,商品出售,账本信息管理,超市出售记录,用户信息管理)等功能。通过以上功能实现简单、便捷的超市管理系统。2.1.1 系统功能需求超级用户:管理系统用户、管理生产过程、管理生产单成本控制、管理生产单收费记录控制、管理客户资料、管理生产单等。管理员:管理生产过程、管理生产单成本控制、管理生产单收费记录控制、管理客户
20、资料、管理生产单等。用户管理:用于对用户的添加,赋于不同权限及对用户的修改及查询。生产单管理:用于对各生产单建立、修改、删除、查询以及对生产单子项建立、修改、删除、查询。客户资料管理:用于对客户资料的建立、修改、删除、查询。成本控制管理:用于对每个生产单添加、修改、废弃、查询成本等。 收费记录管理: 用于对每个生产单添加、修改、废弃、查询收费记录等。 生产过程管理:用于对每个生产单的生产过程进行变更同时做好变更记录等操作。2.1.2 用例分析用例图主要用来图示化系统的主事件流程,它主要用来描述客户的需求,即用户希望系统具备的完成一定功能的动作,通俗地理解用例就是软件的功能模块,所以是设计系统分
21、析阶段的起点,本文中采用用例技术进行需求分析的获取和分析。为了能够正确的找出系统的用例,需要确定系统的边界,找出系统的执行者。用例图如图2.1所示。图2.1 生产过程监控系统用例图2.1.3 类图分析类图(Class diagram)由许多(静态)说明性的模型元素(例如类、包和它们之间的关系,这些元素和它们的内容互相连接)组成。类图可以组织在(并且属于)包中,仅显示特定包中的相关内容。类图描述的是一种静态关系,在系统的整个生命周期都是有效的。在类描述中一般只给出主要类及主要类间的关系。类图是所有面向对象建模方法的核心部分,类图描述了系统的静态结构,由类及类间的关系组成。类是具有相同属性和相同方
22、法的对象的集合,系统类图如图2.2所示。图2.2 生产过程监控系统类图2.2 系统性能要求对系统性能的要求包括对系统时间要求,灵活性,数据管理能力等的要求。2.2.1 系统时间特性要求系统的速度要在用户可接受的范围内,同时本系统的规模不是很大,所以说系统的速度不会慢。2.2.2 系统灵活性系统对数据操作的规定不会太死,方便用户的操作。2.2.3 数据管理能力要求系统要有较高的管理能力,本系统采用的是SQL Server 2008数据库。具有较强的数据处理能力,数据库引擎增强、分析服务增强等。记录的个数随用户多少不定,数据及其分量的存储量为10G,但能保证注册的用户都能登录进来,没有延时。2.3
23、 可行性分析可行性分析是依据初步调查的结果做出系统开发可行与否的结论过程。任何一个工程的立项都需要进行项目的可行性分析。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决、是否值得去解决。根据调查分析,系统设计方案有以下三个可行性。2.3.1 技术可行性根据前期的市场调查与对下列系统功能、性能及实现系统的各项所需技术的约束条件的分析来看,本系统程序开发应是一个集数据库管理和查询为一身的系统,依据现有的开发技术,开发硬件、开发软件的性能要求及环境条件等来看,各项条件良好,同时,考虑给予的开发期限较为充裕,预计可以在规定期限内完成预定功能地开发与实现。在软件方面本程序设计采用的
24、开发环境是Microsoft Visual Studio 2008,采用开发语言C#编写程序,采用SQL Server 2008做后台数据库。在硬件方面电脑的各种配置包括输入输出能力,内部存储器和外部存储器的容量都能满足用户的要求。2.3.2 经济可行性生产过程管理系统,其前期的投入比较小,主要是系统的设计费用:其中包括软件开发费用、管理和维护费等。而后续的投入相对较小,很长时间内都不会需要进一步投资,管理和维护费用也很少,而系统实际能够起到的作用会远远大于投入的开发费用,相信会有十分可观的前景。因此这个系统很有开发价值。2.3.3 操作可行性本系统界面清晰直观、易于操作。由于它能够准确记录、
25、检索和管理有关生产单各类生产过程信息、成本控制信息、收费账本信息、客户资料信息和用户信息等,帮助企业经营者掌握和分析生产单的情况,及时做出正确决策,并且提高企业的服务水平。综上所述,从经济可行性、技术可行性和操作可行性来说,系统开发是完全可行的。3 系统概要设计 本阶段完成系统的大致设计并明确系统的数据结构与软件结构。在软件设计阶段主要是把一个软件需求转化为软件表示的过程。在概要设计阶段的指导思想是结构化指导思想,是指用一组标准的规则和图表工具确定系统有哪些模块,怎么连接,从而形成新系统的结构,然后再进行诸如输入、输出、对话等设计,为整个系统的实施做好铺垫。3.1 系统总体设计方案本系统采用了
26、C/S模型。系统前台采用C#语言来设计,访问数据库服务器;后台采用Microsoft公司的SQL Server 2008。SQL Server2008开发后台数据库,用于提供数据服务。SQL Server 2008是一种典型关系型数据库管理系统,该系统具有数据一致性好,完整性强,安全性高的优点,系统采用结构化设计方法,按超市实际工作内容来确定所需,将整个系统作为一个大模块自顶向下,以模块化结构设计技术进行模块分解,然后再自底向上,按照系统的结构将整个模块进行组合,最终完成本超市管理系统的开发。本系统有四个整体模块,其包含着以下子模块。具体的模块功能划分如下:用户登入模块:具备用户登入、用户注册
27、等功能。用户管理:用于对用户的添加,赋于不同权限及对用户的修改及查询。生产单管理:用于对各生产单建立、修改、删除、查询以及对生产单子项建立、修改、删除、查询。客户资料管理:用于对客户资料的建立、修改、删除、查询。成本控制管理:用于对每个生产单添加、修改、废弃、查询成本等。 收费记录管理: 用于对每个生产单添加、修改、废弃、查询收费记录等。 生产过程管理:用于对每个生产单的生产过程进行变更同时做好变更记录等操作。本系统详细功能模块图如图3.1所示。图3.1 系统功能模块图3.2 系统数据流图数据流图是将提供给用户的业务流程图进行功能建模,转化成开发人员能够理解的一系列“逻辑模型”图,即以图形化的
28、方法描绘数据在系统中的流动和处理的过程,这些图都应该用规范的DFD描述。本系统操作流程,操作员根据不同的身份账号进入登录模块,在登录栏处输入用户名和密码,系统进行验证操作员身份,若系统没有检索到用户名,则不允许进入,进入系统之后根据身份的不同进行不同的操作。超级管理员拥有所有权限可对用户模块、客户模块、生产单模块、生产过程模块、成本账本模块以及收费账本模等进行操作。而普通管理员拥有超级管理员除用户管理模块外的所有模块操作。 3.3 系统活动图活动图阐述了用例实现的过程,用于研究实现业务目标时所要执行的各项任务或活动的顺序安排。本生产过程监控系统的活动图如图3.3所示。图3.3 生产过程监控系统
29、活动图3.4 系统数据库设计数据库设计是建立数据库及应用系统的技术,是信息系统开发和建设中的核心技术,具体说,数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及应用系统,使之能够有效地存储数据,满足各种用户的要求数据库设计是管理信息系统的重要组成部分5。这里采用SQL Server数据库。该数据库对行增、删、修改、统计、显示和应答都极为方便。其中的排序和索引功能,对数据快速定位、查询提供了有利条件。3.4.1 数据库需求分析 主要是收集基本数据及确定数据的处理要求,需求分析主要解决如下问题:1、数据要求:用户需要从数据库中获取什么数据,并决定在数据库中存储那些数据。2、操
30、作要求:明确用户对数据的操作要求,从而确定数据之间的关系。3.4.2 数据库逻辑设计数据库逻辑设计图如图3.4.2所示。数据库逻辑设计图3.4.23.4.3 数据库物理设计表名功能说明用户表Users用于管理用户的信息客户表Client用于管理客户的基本资料生产单ProductBills用于管理生产单的信息生产单子单ProductBillsItem用于管理生产单中的每个子单的信息生产单状态变更记录表PBSUpdateRecord用于记录子生产单状态变更的信息成本账本表Cost用于管理成本账本的信息成本账单表CostItem用于管理成本账单的信息收费账本表Account用于管理收费账本的基本信息
31、收费账单表AccountItem用于管理收费账单的信息ProductBills表列名数据类型是否可为空备注PBNumbernvarchar(20)否生产单号PBBelongClientnvarchar(50)是所属客户PBStatenvarchar(10)是状态PBDatedatetime是创建时间PBWorkernvarchar(20)是创建人dbo.ProductBillsItem表列名数据类型是否可为空备注PBINumbernvarchar(50)否生产单项编号PBITypenvarchar(20)否账单项类型PBIContentnvarchar(100)是详细内容PBIBelongPB
32、nvarchar(20)是所属生产单PBIStatenvarchar(10)是状态PBSUpdateRecord表列名数据类型是否可为空备注UPNumberbigint否编号OldStatenvarchar(10)是旧的状态NewStatenvarchar(10)是新的状态UPSetDatedatetime是变更时间UPWorkernvarchar(20)是操作人UPBelongPBInvarchar(20)是所属生产子单 Cost表列名数据类型是否可为空备注CNumbernvarchar(20)否成本账本编号CBelongPBnvarchar(20)是所属生产单CStatenvarchar(
33、10)是状态CostItem表列名数据类型是否可为空备注CINumberbigint否编号CITypenvarchar(10)是类型CIMoneydecimal(18, 2)是金额CIBelongCnvarchar(20)是所属CostCISetDatedatetime是设置时间CIStatenvarchar(2)是状态Account表列名数据类型是否可为空备注ANumbernvarchar(20)否账本号ABelongPBnvarchar(20)是所属生产单AReceivabledecimal(18, 2)是应收金额AStatenvarchar(10)是状态ASetDatedatetime是
34、设置时间AccountItem表列名数据类型是否可为空备注AINumbernvarchar(20)否编号AIBelongAnvarchar(20)是所属AccountAFeedecimal(18, 2)是收费金额ASummarynvarchar(200)是摘要APayernvarchar(10)是付款人APayeenvarchar(10)是收款人ASetDatedatetime是操作时间AIStatenvarchar(10)是状态4 系统的详细设计详细设计的根本目标是确定应该怎样具体地实现所要求的系统,也就是说,经过这个阶段的设计工作,应该的出对目标系统的精确描述,从而在编码阶段可以把这个描述
35、直接翻译成用某个设计的语言书写的程序。详细设计的任务不是具体的编写程序,而是要设计出程序的“蓝图”,以后可根据这个蓝图写出实际的程序代码。详细设计的目标不仅仅是逻辑上正确地实现每个模块的功能,更重要的是设计出的处理过程应该尽可能简明易懂。本系统所包括的几大模块如下:登录模块、用户管理模块、客户资料模块、待办事项模块、生产单管理模块、生产过程模块、成本账本模块以及收费账本模块等多个模块。4.1 系统主要功能模块实现4.1.2 准备工作(一些公共类的准备)1、定义linqtosql类PPM。2、数据导出类 ExportToExcelusing System;using System.Collect
36、ions.Generic;using System.Linq;using System.Text;using System.Windows.Forms;using Microsoft.Office.Interop.Excel;namespace PocketBook.PublicClass class ExportToExcel / / 把dataGridView中的数据导出到Excel中 / / dataGridView的名称 / Excel文件名称 public void exportExcel(DataGridView dgv, string strTitle,int startColu
37、mn,int endColumn) try /判断DataGridView当中是否有数据,如果没有数据,则提醒没有数据可以导出 if (dgv.Rows.Count = 0) MessageBox.Show(没有数据可以导出, 温馨提示, MessageBoxButtons.OK, MessageBoxIcon.Information); return; SaveFileDialog sfd = new SaveFileDialog();/创建保存对话框 sfd.Title = 请选择将导出Excel文件存放路径;/设置保存对话框的标题 sfd.FileName = System.DateTi
38、me.Now.ToShortDateString().Replace(/,-) + strTitle;/设置文件名 sfd.Filter = Excel文档(*.xls)|*.xls;/设置文件的保存类型 if (sfd.ShowDialog() = DialogResult.OK) Microsoft.Office.Interop.Excel.Application excelApp = new Microsoft.Office.Interop.Excel.Application();/创建Excel对象 if (excelApp = null) MessageBox.Show(无法创建Ex
39、cel文档,可能您的电脑未安装Excel, 温馨提示, MessageBoxButtons.OK, MessageBoxIcon.Information); return; else Workbooks books = excelApp.Workbooks;/创建工作薄 Workbook book = books.Add(true); Worksheet sheet = (Microsoft.Office.Interop.Excel.Worksheet)book.Worksheets1;/创建工作表 /Microsoft.Office.Interop.Excel.Range range; sh
40、eet.Cells1, 1 = strTitle;/设置标题 /range = sheet.get_Range(sheet.Cells1, 1, sheet.Cells1, 3); /range.Merge(System.Reflection.Missing.Value); /写列头 int s = startColumn; int j = 1; for (int k = 1; k =(endColumn-s); k+, startColumn+) sheet.Cells2, k = dgv.ColumnsstartColumn.HeaderText.ToString(); /写数据 for
41、(int i = 0; i dgv.Rows.Count; i+) for (j = 1, startColumn = s; j =(endColumn - s); j+, startColumn+) sheet.Cellsi + 3, j = Convert.ToString(dgv.Rowsi.CellsstartColumn.Value.ToString(); sheet.Columns.EntireColumn.AutoFit();/自动调整Excel列宽以配匹内容的宽度 sheet.Columns.HorizontalAlignment = XlVAlign.xlVAlignCenter;/设置Excel文本居中对齐 book.Saved = true; book.SaveCopyAs(sfd.FileName);/另存工作表 excelApp.Quit();/关闭Excel对象 MessageBox.Show(导出成功, 温馨提示, MessageBox