本篇主要讲如何读取Excel文件并且上传到数据库SqlServer,首先准备data.xlsx文件,我就随便新建一个表格data.xlsx,里面有person和time两张工作表:
新建数据库Demo_UploadExcel,然后新建两张表person和data
那么如何读取Excel文件中person和time两张表呢?要引用NuGet包:
ExcelDataReader和ExcelDataReader.DataSet
装好NuGet包后,那么接下来具体怎么读呢?主要分为以下几步:
//1:打开文件,得到文件stream
var streamData = File.Open(ExcelFile, FileMode.Open, FileAccess.Read)
//2:得到文件reader(需要NuGet包ExcelDataReader)
var readerData = ExcelReaderFactory.CreateOpenXmlReader(streamData)
//3:通过reader得到数据(需要NuGet包ExcelDataReader.DataSet )
var result = readerData.AsDataSet();
//4:得到ExcelFile文件的表Sheet
var sheet = result.Tables[Sheet];
得到sheet后,就可以获得各种属性了,比如excel表格多少行,列
var cols = sheet.Columns.Count;//ExcelFile的表Sheet的列数
var count = sheet.Rows.Count;//Sheet中的行数
下面是读取Excel文件并上传到sql的代码:
新建mySqlServer类,封装一些数据库访问的方法和属性:
class MySqlServer
{
public static string database = "Server=.;database=Demo_UploadExcel;Integrated Security=True";
//静态字段,每个mySqlServer都可以使用该字符串
public SqlConnection myConnection;//每个mySqlServer对象拥有自己
//各自的SqlConnection
public void open()
{
myConnection = new