.net mvc 4.0 仓库系统 导入功能

我是新手,这个问题已经困扰我一个星期了。是一个excel储存到数据库的功能,我写的和网上的都差不多,但是一直是报错,代码太多 也不好贴。“至少有一个参数没指定” 字段是对应的,但还是报错。有大神帮忙看下吗 可以有报酬,软妹币也没有关系,如果能帮我解决的话

以下是一个完整的示例代码,将Excel数据导入到数据库中:

using System;
using System.Data;
using System.Data.OleDb;
using System.Data.SqlClient;
using Excel = Microsoft.Office.Interop.Excel;

namespace ExcelImportDemo
{
    public class ExcelImporter
    {
        public void ImportExcelData(string excelFilePath, string tableName, string connectionString)
        {
            try
            {
                // 创建Excel应用程序对象
                Excel.Application excelApp = new Excel.Application();

                // 打开Excel文件
                Excel.Workbook workbook = excelApp.Workbooks.Open(excelFilePath);

                // 获取第一个工作表
                Excel.Worksheet worksheet = (Excel.Worksheet)workbook.Sheets[1];

                // 获取Excel数据范围
                Excel.Range range = worksheet.UsedRange;

                // 获取行数和列数
                int rowCount = range.Rows.Count;
                int columnCount = range.Columns.Count;

                // 创建连接对象
                using (SqlConnection connection = new SqlConnection(connectionString))
                {
                    // 打开数据库连接
                    connection.Open();

                    // 构建插入SQL语句
                    string insertSql = $"INSERT INTO {tableName} VALUES ";

                    // 遍历Excel数据并构建插入语句
                    for (int row = 2; row <= rowCount; row++) // 从第2行开始,忽略表头
                    {
                        insertSql += "(";

                        for (int col = 1; col <= columnCount; col++)
                        {
                            string cellValue = range.Cells[row, col].Value.ToString();
                            
                            // 对于字符串类型的数据,需要添加单引号
                            if (range.Cells[row, col].NumberFormat == "@")
                            {
                                cellValue = $"'{cellValue}'";
                            }

                            insertSql += cellValue;

                            // 如果不是最后一列,则添加逗号分隔
                            if (col != columnCount)
                            {
                                insertSql += ",";
                            }
                        }

                        insertSql += ")";

                        // 如果不是最后一行,则添加逗号分隔
                        if (row != rowCount)
                        {
                            insertSql += ",";
                        }
                    }

                    // 执行插入操作
                    using (SqlCommand command = new SqlCommand(insertSql, connection))
                    {
                        command.ExecuteNonQuery();
                    }

                    // 关闭数据库连接
                    connection.Close();
                }

                // 关闭Excel应用程序对象
                excelApp.Quit();
            }
            catch (Exception ex)
            {
                // 处理异常
                Console.WriteLine($"导入Excel数据发生错误:{ex.Message}");
            }
        }
    }
}

在上面的示例代码中,需要传入Excel文件的路径、表名和数据库连接字符串作为参数,并使用ADO.NET的SqlConnectionSqlCommand来执行插入操作。请确认数据库表的结构和Excel文件中的列名和类型匹配。

请注意,在导入Excel数据之前,请安装运行Excel的机器上是否已经安装了Microsoft Office相应的库,并在项目中引用Microsoft.Office.Interop.Excel库。

希望这份代码可以帮助到你,如有其他问题,请发信息。祝你成功导入Excel数据!