如何使用 C# 将多个 Excel 工作表导入 SQL 表?
Posted
技术标签:
【中文标题】如何使用 C# 将多个 Excel 工作表导入 SQL 表?【英文标题】:How to import multiple Excel sheets into SQL tables using C#? 【发布时间】:2019-11-02 03:20:43 【问题描述】:我需要通过单击 C# 按钮控件将多个 Excel 工作表导入多个 SQL 表(根据它们的表)。
【问题讨论】:
为了让我们帮助您,您需要告诉我们您已经尝试过什么,以及其中哪一部分有问题。我建议使用tour,阅读How to Ask,如果可以的话,提供minimal reproducible example。事实上,您的问题特别广泛。 @Diado,很抱歉没有提供正确的信息给您带来不便,我尝试使用 oldbeComand 导入,但我一次只能插入一张表 【参考方案1】:首先请安装 nuget Spire.XLS,例如 'Install-Package Spire.XLS -Version 9.6.7' 现在您可以使用下面的代码 你应该 使用 Spire.xls 在你的命名空间中
public static DataTable ReadExcelFromPath(string path,int sheetNumber)
DataTable dt = null;
try
//Load the Excel file
using (Workbook workbook = new Workbook())
workbook.LoadFromFile(path);
//Get the worksheet
Worksheet sheet = workbook.Worksheets[sheetNumber];
//Export data to data table
dt = sheet.ExportDataTable();
catch (Exception ex)
throw new Exception(ex.ToString());
return dt;
public static List<DataTable> ReadAllExcelSheetFromPath(string path)
List<DataTable> dt_list = new List<DataTable>();
try
//Load the Excel file
using (Workbook workbook = new Workbook())
workbook.LoadFromFile(path);
for (int i = 0; i < workbook.Worksheets.Count; i++)
//Get the first worksheet
Worksheet sheet = workbook.Worksheets[i];
//Export data to data table
dt_list.Add( sheet.ExportDataTable());
catch (Exception ex)
throw new Exception(ex.ToString());
return dt_list;
【讨论】:
【参考方案2】:使用 EPPlus nuget 包。
文档链接: https://github.com/JanKallman/EPPlus/wiki/Reading-and-Writing-Data
【讨论】:
meta.stackexchange.com/questions/8231/… 请查看@Diado 的链接以获取不赞成票的解释。以上是关于如何使用 C# 将多个 Excel 工作表导入 SQL 表?的主要内容,如果未能解决你的问题,请参考以下文章
如何将包含数百张工作表的 excel 文件导入数据库以在 C# 项目中使用?
C# winform中如何通过新建EXCEL工作簿把SQL SERVER数据库中多张表导入EXCEL不同的sheet当中啊
如何使用 C# 从 DataSet 创建包含多个工作表的 excel 文件
如何使用通配符导入多个具有相似工作表名称的 Excel 文件?