跟excel有关的开发,c#应该是不错的选择,毕竟都是windows的程序。写了一段时间java,突然又写c#,会发现继承、抛出异常之类的东西好不适应。
这次遇到一个使用历史大约有10年的excel工作簿,表大小大概在400列6000行的样子——是的我以为是400列,实际上这些列就像课程,不同专业的学生会修不同的课,一共有400门课,而且每个学生每门课还有不同的成绩。。。这些都在一个表里头,一个表里头,一个表里头——不然还要我转什么excel的数据。
大概来说任务就是把一个有一定规范的excel表转换为我们通常在数据库上看到的二维表。400列的数据肯定不会整到一个表里面,应该像分学院一样把400列拆分为若干组,每组再独立建表。
这个功能看似不难,而且数据量并不是很大,主流的数据库性能是够的,但是也不能像面向过程那样流水式的码出来。暂时觉得这可以用三篇文章来说说
第一篇就写写类的设计。
不多说先来看图,不知道这画得规范不规范
类的继承不应该是从一般到特殊的过程,而是功能封装的过程。这里用三个类来封装:
excel_basicReader:根据传入的文件路径获得excel文件内数据的基本信息,包括表名、给个表的列数、行数
excel_MySql_covertSettings:这次开发用的是MySql,每个表设置多少列、多少行、那个属性是主键等,都放在这个类
excel_tableCreater:创建MySql的空表、读取excel并插入到MySql的表中
按照这样设计三个类我是出于这样考虑的&#