这里C#存取Excel表格的思路是,首先读取Excel表格中sheet页的内容并保存在DataSet中,再在数据库中建一张与sheet页字段相同的空表,最后把Dataset里存储的内容复制到数据库里的表完成存储。
第一步读取sheet页的方法有OleDb、NPOI、Microsoft.Office.Interop.Excel等等。这里推荐使用OleDB,将Excel直接当做数据源处理,通过SQL直接读取内容,读取速度较快。
OLEDB使用方法与ADO.Net类似,如图所示
图1.ADO.NET结构图
具体步骤为:
1.使用SqlConnection对象连接数据库。
2.建立SqlCommand对象,负责SQL语句的执行和存储过程的调用。
3.对SQL或存储过程执行后返回的“结果”进行操作:
3.1用SqlDataReader直接一行一行的读取数据集;
3.2利用DataSet联合SqlDataAdapter来操作数据库。
读取Excel内容首先应该获取Excel中的sheet页名,使用OleDB基础语法即可。这里sheet页指的是Excel表格中的分页。
图2.sheet页
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.Filter = ".xlsx文件|*.xlsx|.xls文件|*.xls";
openFileDialog.RestoreDirectory = true;
openFileDialog.FilterIndex =