C#中使用Excel表格.ppt_第1页
C#中使用Excel表格.ppt_第2页
C#中使用Excel表格.ppt_第3页
C#中使用Excel表格.ppt_第4页
C#中使用Excel表格.ppt_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Excel基础,整个Excel表格叫工作表:Workbook;工作表包含的叫页:Sheet;行:Row;单元格:Cell。 Excel中的电话号码问题,看起来像数字的字符串以半角单引号开头就没问题了。 (*)使用区域(UsedRange):用Excel表的时候不一定是从最左上角的单元格开始用,为了减小文件尺寸,有使用区域的概念,Excel只存储使用区域。,程序处理Excel的技术,OLE Automation:程序启动一个Excel进程,然后和Excel进程进行通讯来进行Excel的操作。优点:强大,能够使用Excel的所有功能,要求装Excel,微软最推荐这种用法,因为可以促进Excel的销

2、量。会启动Excel进程,不适合于服务器(比如Asp.Net网站,安全性、效率)。参考资料 演示一下,引用Excel.Interop,代码在备注 (*)把Excel当成数据库,使用Microsoft.Jet.OleDb访问访问Excel ,参考资料 只适合于完全二维结构,功能最弱,很少用。不用装Excel。 (*) OpenXML,微软提供的读写Excel的技术,优点和NPOI差不多,不过只能处理xlsx格式文件。docx、pptx NPOI、MyXls等,NPOI能够分析Excel文件的格式,能够进行常用Excel操作,不依赖于Excel,节省资源,没有安全性、性能的问题,在ASP.net中

3、用最合适。只能处理xls格式文件、不能处理xlsx这样的新版本Excel文件格式。处理xlsx还要用OpenXML。,NPOI组件的引入,我们平时调用的类是已经添加到引用的,如果想调用系统内置的没有添加引用的其他dll(*严格的说是在GAC中的Assembly)就要添加引用,在【.Net】选项卡中选择,对于另外一些第三方dll(*严格说是Assembly)则需要点击【浏览】选项卡选择对应的dll文件。 将NPOI包解压到硬盘中,然后在项目中添加引用,浏览,将解压目录下的dll全部添加进来 (*)POI是Apache的一个Java开源项目,NPOI是POI在.net下的移植版本,很多.Net的移

4、植版本开源项目都是在原来的Java版本名称前加上N,比如NHibernate、NDoc、NUnit、NAnt。,NPOI起步,1、读取 using (FileStream stream = new FileStream(c:客户资料.xls, FileMode.Open, FileAccess.Read) HSSFWorkbook workbook = new HSSFWorkbook(stream); MessageBox.Show(workbook.GetSheetName(0); 2、遇到错误别慌,仔细看错误信息。可能遇到的问题:文件被其他进程占用。 3、NPOI处理WPS生成的XLS有

5、问题。,读取Excel,读取字符串类型数据MessageBox.Show(sheet.GetRow(3).GetCell(4).StringCellValue); 读取数字类型数据NumericCellValue。 判断单元格数据类型:读取GetCell(4).CellType,与HSSFCell类中定义的常量比较即可。 判断使用区域:结束行号:LastRowNum,客户资料管理,姓名(Name)、固定电话(TelPhone)(带播出按钮)、手机(MobilePhone)(带拨出按钮)、邮编(PostCode)、Email、通讯地址(Address)、门店(2位,由总部顺序分配编号)、购买日期

6、(BuyDate)、车号(CarNum)、车架号(BracketNum)、品牌(Brand)、型号(TypeNum)、意见建议(Suggestion,nvarchar(MAX))、备注(Remarks,“未尽事宜”,一般创建表的时候都要一个“备注字段”,填写其他字段中没有涉及的内容,nvarchar(MAX) )。字段哪怕用拼音,也别用拼音缩写(你猜TXDZ、gnmk是什么字段?),也不要用中文字段名。表名:T_Customers。易错:电话号码用什么字段类型。 数据导入开发要求:不能改客户提供的Excel文件,只能程序适应Excel DBNULL和null的区别: 把数据库中的数据显示出来发

7、现:现在的三层代码对于null数据处理有问题。介绍“可空数据类型”,string、person(引用类型)等是可null的,但是int、bool、datetime(值类型)是不可为null的,在不可空类型后加“?”就是可空类型了,HasValue、Value。改造我们的工具(项目亮点),给大家的工具只是半成品,需要大家来自己改造,使其更好用,记住:永远都不要改自动生成的代码,这样面试回答关于代码生成工具才有的可说,够档次。 面试时聊代码生成工具开发过程中的一些问题:处理可空数据类型。吹的素材。尽量自己改代码生成工具!,课下练习:客户资料导入细化,根据车号或车架号匹配客户资料,如果数据已经存在则

8、不作导入,防止数据重复导入。 todo:改进代码生成器,解决字段必须=的问题 实验步骤 弹出对话框,要求用户选择要导入的Excel文件 遍历用户选择的Excel文件,根据行中的车号、车架号匹配数据库中已有的客户资料,如果车号或者车架号能够匹配上,则不导入这条记录。 增加一个根据车号查询客户资料的方法GetDataByCarNum(where CarNum=CarNum,datatable.count0) 增加一个根据车架号查询客户资料的方法GetDataByBracketNum。(where BracketNum=BracketNum,datatable.count0),写入Excel,HSS

9、FWorkbook workbook = new HSSFWorkbook(); HSSFSheet sheet = workbook.CreateSheet(); HSSFRow row = sheet.CreateRow(0); row.CreateCell(0, HSSFCell.CELL_TYPE_STRING).SetCellValue(Hello); row.CreateCell(1, HSSFCell.CELL_TYPE_NUMERIC).SetCellValue(3.14); using (FileStream stream = new FileStream(c:1.xls,

10、FileMode.OpenOrCreate, FileAccess.ReadWrite) workbook.Write(stream); ,课下练习:客户资料导出,将客户资料导出到Excel文件,格式:顾客姓名、住宅电话、手机、详细通讯地址、邮政编码、车号、车架号、购买日期、分店编号。 实验步骤 弹出文件保存对话框,用户提供要保存文件的文件名 创建表头(CreateRow),填充表头(CreateCell) 遍历所有数据,依次CreateRow添加到WorkSheet中 保存到用户提供的文件中 提示用户导出完毕。 改进:由于客户资料数据量大,因此用DataSet的方式非常占用内存,改进用Dat

11、aReader的方式。ExecuteDataReader(Close),SQLServer版呼叫中心数据同步,ERP系统导出当天数据到txt,客户需求:ERP数据导入原则,不同4S店每天晚间定时提取当天的增量数据,上传至总部FTP服务器(不同4S店的数据文件名以店名做区分)。 由于不同4S店数据独立,关键字可能重复,上传数据增加门店号(2位,由总部顺序分配编号)区分。 Call Center系统导入客户资料时,根据车号或车架号匹配客户资料,如果Call Center系统已经存在则不作导入,否则增加一条客户记录。导入时门店号同时导入。,FTP简介(*),专门用于文件的上传、下载,效率更高 Win

12、dows下常用FTP服务器:Serve-U、IIS FTP、FileZilla Server(免费、开源)。学习用FileZilla Server(解压以后再运行)。 Windows下常用FTP客户端:Windows内置(命令行ftp.exe、资源管理器)、CuteFtp(收费)、FlashFXp、FileZilla FTP Client。有人电脑用资源管理器有问题,可以用FileZilla FTP Client。 常见面试题:说出几种常见的FTP客户端、服务器、Http服务器、浏览器。FTP端口:21;Http端口:80 登录FTP一般需要用户名、密码,根据用户名的不同有不同的权限(文件:上

13、传、下载、删除、附加;目录:创建、删除),不同的用户可以看不同的目录;如果不输入用户名则认为是匿名用户,其实就是用户名为Anonymous的用户,匿名用户一般只给下载权限。 什么是服务器,什么是端口,为什么要固定端口。端口就是房子里的小窟窿。,(*)实战FTP,可能和大家机器上的IIS FTP冲突,暂停IIS。 Windows资源管理器登录FTP,ftp:/服务器地址;默认是匿名用户,点击主菜单的文件登录更换用户。像操作本地文件一样上传、下载、删除、新建文件夹等。,程序操作FTP,(*).Net中内置的操作FTP的类有:WebClient、FtpWebRequest。WebClient用起来简单,但是只能上传、下载。 FtpWebRequest 比较强大,WebClient内部就是调用FtpWebRequest实现的,如果要实现遍历ftp文件、创建ftp文件夹等就要用FtpWebRequest 。 (*)WebClient也可以下载Http网页、上传Http文件,后面站内搜索、采集器项目中还将会用到。 开源的FTPClient.cs。测试上传和下载。,Excel文件数据导入,呼叫中心、FTP服务器、门店咋回事?信息孤岛。 实验步骤: FTP地址、用户名、密码暂时写死。 去FTP服务器取得各个门店对应的数据文件,思考:如果门店由于某些原因没有及

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论