HTML JPG PDF XML EXCEL
  Product Family
SqlServer

在C#中将EXCEL转换为SqlServer

用于将 EXCEL 转换为 SqlServer 的高速 C# 库。这是一个专业的软件解决方案,可在 .NET Framework、.NET Core 或 Mono 平台上导入和导出 EXCEL、SqlServer 和许多其他格式。

使用 C# 将 EXCEL 转换为 SqlServer

如何将 EXCEL 转换为 SqlServer?借助 Aspose.Cells for .NET 库,您可以通过几行代码以编程方式轻松将 EXCEL 转换为 SqlServer。 Aspose.Cells for .NET 能够构建跨平台应用程序,能够生成、修改、转换、渲染和打印所有 Excel 文件。 .NET Excel API 不仅可以在电子表格格式之间进行转换,还可以将 Excel 文件呈现为图像, PDF, HTML, ODS, CSV, SVG, JSON, WORD, PPT等等,从而使其成为以行业标准交换文档的完美选择格式。打开 NuGet 包管理器,搜索Aspose.Cells并安装。您还可以从包管理器控制台使用以下命令。

包管理器控制台命令


PM> Install-Package Aspose.Cells

如何通过C#将EXCEL转换为SqlServer

需要以编程方式将 EXCEL 文件转换为 SqlServer? .NET 开发人员只需几行代码即可轻松加载 EXCEL 并将其转换为 SqlServer。

  1. 安装“Aspose.Cells for .NET”。
  2. 将库引用(导入库)添加到您的 C# 项目中。
  3. 使用 Workbook 实例加载 EXCEL 文件。
  4. 根据列名称和值构建 Insert 语句。
  5. 执行语句将数据插入SqlServer数据库。
 

将 EXCEL 转换为 SqlServer 的示例代码 - C#

var connectionString = "Server=localhost;Database=SqlServerTestDataBase;User ID=root;Password=admin;Trusted_Connection=False;";
var tableName = "countrylanguage";
string excelFilePath = "SqlServerData.xlsx";
string autoIncrementColumnName = "id";

Workbook workbook = new Workbook(excelFilePath);
Worksheet worksheet = workbook.Worksheets[0];

DataTable dataTable = worksheet.Cells.ExportDataTableAsString(0, 0, worksheet.Cells.MaxDataRow + 1, worksheet.Cells.MaxDataColumn + 1, true);

using (SqlConnection connection = new SqlConnection(connectionString))
{
    connection.Open();
    using (SqlTransaction transaction = connection.BeginTransaction())
    {
        using (SqlCommand cmd = new SqlCommand())
        {
            cmd.Connection = connection;
            cmd.Transaction = transaction;

            foreach (DataRow dr in dataTable.Rows)
            {
                string columnNames = string.Join(", ", dataTable.Columns.Cast<DataColumn>()
                    .Select(c => $"[{c.ColumnName}]").Where(c => c != $"[{autoIncrementColumnName}]"));
                string valuesPlaceholders = string.Join(", ", dataTable.Columns.Cast<DataColumn>()
                    .Select((c, index) => $"@value{index + 1}")
                    .Where((val, index) => dataTable.Columns[index].ColumnName != autoIncrementColumnName));

                string insertCmd = $"INSERT INTO [{tableName}] ({columnNames}) VALUES ({valuesPlaceholders})";
                cmd.CommandText = insertCmd;

                cmd.Parameters.Clear();
                for (int i = 0; i < dataTable.Columns.Count; i++)
                {
                    if (dataTable.Columns[i].ColumnName != autoIncrementColumnName)
                    {
                        cmd.Parameters.AddWithValue($"@value{i + 1}", dr[i]);
                    }
                }

                cmd.ExecuteNonQuery();
            }
        }
        transaction.Commit();
    }
}
 

C# 将 EXCEL 转换为 SqlServer 的库

有两个替代选项可以将“Aspose.Cells for .NET”安装到您的系统上。请选择符合您需求的一项并按照分步说明进行操作:

  1. 安装一个 NuGet 套餐 。看 文档
  2. 使用安装库 包管理器控制台 在 Visual Studio IDE 中

系统要求

在运行 .NET 转换示例代码之前,请确保满足以下先决条件。

  • Microsoft Windows 或具有 .NET、.NET Core、Windows Azure 或 Mono 平台的兼容操作系统。
  • 开发环境如Microsoft Visual Studio。
  • 在项目中添加对 Aspose.Cells for .NET DLL 的引用。

其他支持的转换

您还可以将 EXCEL 转换为许多其他文件格式,包括下面列出的几种。

Excel至HTML (超文本标记语言)
从Excel到MD (降价语言)
Excel至MHTML (网页存档格式)
Excel至ODS (OpenDocument 电子表格文件)
Excel至PDF (便携式文档格式)
Excel至PNG (便携式网络图形)
Excel至SVG (可缩放矢量图形)
Excel至TIFF (标记图像格式)
Excel至TSV (制表符分隔值)
Excel至TXT (文本文档)
Excel至XLS (Excel 二进制格式)
Excel至XLSB (二进制 Excel 工作簿文件)
Excel至XLSM (电子表格文件)
Excel至XLSX (OOXML Excel 文件)
Excel至XLT (Microsoft Excel 模板)
Excel至XLTM (Excel 宏启用模板)
Excel至XLTX (Office OpenXML Excel 模板)
Excel 转 XML (可扩展标记语言)
Excel至XPS (XML 论文规范)
Excel至JSON (JavaScript 对象表示法)