c# 如何把excel多个sheet导入到sql数据库
1.打开SQL Server Management Studio,按图中的路径进入导入数据界面。
2.导入的时候需要将EXCEL的文件准备好,不能打开。点击下一步。
3.数据源:选择“Microsoft Excel”除了EXCEL类型的数据,SQL还支持很多其它数据源类型。
4.选择需要导入的EXCEL文件。点击浏览,找到导入的文件确定。
5.再次确认文件路径没有问题,点击下一步。
6.默认为是使用的WINODWS身份验证,改为使用SQL身份验证。输入数据库密码,注意:数据库,这里看看是不是导入的数据库。也可以在这里临时改变,选择其它数据库。
7.选择导入数据EXCEL表内容范围,若有几个SHEET表,或一个SHEET表中有些数据不想导入,则可以编写查询指定的数据进行导入。点击下一步。
8.选择需要导入的SHEET表,比如我在这里将SHEET表名改为price,则导入后生面的SQL数据库表为price$。点击进入下一步。
9.点击进入下一步。
10.在这里完整显示了导入的信息,执行内容,再次确认无误后,点击完成,开始执行。
11.可以看到任务执行的过程和进度。
12.执行成功:可以看看执行结果,已传输1754行,表示从EXCEL表中导入1754条数据,包括列名标题。这样就完成了,执行SQL查询语句:SELECT * FROM price$就可以查看已导入的数据内容。
{
DataSet ExcelData = new DataSet();
using (FileStream fs = new FileStream(Server.MapPath(Path), FileMode.OpenOrCreate))
{
IWorkbook workbook = WorkbookFactory.Create(fs);
foreach (var sheetName in sheetNames)
{
ISheet sheet = workbook.GetSheet(sheetName);
DataTable table = new DataTable();
//获取sheet的首行
IRow headerRow = sheet.GetRow(0);
//一行最后一个方格的编号 即总的列数
int cellCount = headerRow.LastCellNum;
///用户生成表头
for (int i = headerRow.FirstCellNum; i < cellCount; i++)
{
DataColumn column = new DataColumn(headerRow.GetCell(i).StringCellValue);
table.Columns.Add(column);
}
//最后一列的标号 即总的行数
//int rowCount = sheet.LastRowNum;
for (int i = (sheet.FirstRowNum + 1); i < sheet.LastRowNum; i++)
{
IRow row = sheet.GetRow(i);
DataRow dataRow = table.NewRow();
for (int j = row.FirstCellNum; j < cellCount; j++)
{
if (row.GetCell(j) != null)
dataRow[j] = row.GetCell(j).ToString();
}
table.Rows.Add(dataRow);
}
ExcelData.Tables.Add(table);
}
}
return ExcelData;
}
第一个sheet内容我取到了,如何取第二个sheet的内容
private DataSet GetExcelModel(string Path, string[] sheetNames)
Path = Excel File Path
string[] SheetName= 工作簿的名称数组