通用excel数据导出/转换(一)

本文探讨如何使用C#将一个包含400列6000行历史数据的Excel工作簿转换为MySQL数据库的二维表。通过设计三个类:excel_basicReader、excel_MySql_covertSettings和excel_tableCreater,实现了数据的抽象、数据库配置和表的创建与导入。采用面向对象的方法,使得代码更具扩展性,易于适应不同数据库的需求。
摘要由CSDN通过智能技术生成

跟excel有关的开发,c#应该是不错的选择,毕竟都是windows的程序。写了一段时间java,突然又写c#,会发现继承、抛出异常之类的东西好不适应。

这次遇到一个使用历史大约有10年的excel工作簿,表大小大概在400列6000行的样子——是的我以为是400列,实际上这些列就像课程,不同专业的学生会修不同的课,一共有400门课,而且每个学生每门课还有不同的成绩。。。这些都在一个表里头,一个表里头,一个表里头——不然还要我转什么excel的数据。

大概来说任务就是把一个有一定规范的excel表转换为我们通常在数据库上看到的二维表。400列的数据肯定不会整到一个表里面,应该像分学院一样把400列拆分为若干组,每组再独立建表。

这个功能看似不难,而且数据量并不是很大,主流的数据库性能是够的,但是也不能像面向过程那样流水式的码出来。暂时觉得这可以用三篇文章来说说

第一篇就写写类的设计。

不多说先来看图,不知道这画得规范不规范
uml类图

类的继承不应该是从一般到特殊的过程,而是功能封装的过程。这里用三个类来封装:

excel_basicReader:根据传入的文件路径获得excel文件内数据的基本信息,包括表名、给个表的列数、行数

excel_MySql_covertSettings:这次开发用的是MySql,每个表设置多少列、多少行、那个属性是主键等,都放在这个类

excel_tableCreater:创建MySql的空表、读取excel并插入到MySql的表中

按照这样设计三个类我是出于这样考虑的&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值