Я понял, что парень
Это Импорт Excel в SQL-сервер в ASP.NET Core и Angular Project
у нас уже есть файл (test.xlsx) excel в папке WWWROOT в проекте, а затем делаем код ниже
с использованием Microsoft.AspNetCore.Hosting;
с использованием Microsoft.AspNetCore.Mvc;
с использованием OfficeOpenXml;
с использованием системы;
с использованием System.Data.SqlClient;
с использованием System.IO;
namespace ArchDVS.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class ExcelController : ControllerBase
{
private readonly IHostingEnvironment _hostingEnvironment;
public ExcelController(IHostingEnvironment hostingEnvironment)
{
_hostingEnvironment = hostingEnvironment;
}
[HttpGet, DisableRequestSizeLimit]
[Route("Import")]
public string Import()
{
string sWebRootFolder = _hostingEnvironment.WebRootPath;
//var excelFile = new FileInfo(@"TestFile.xlsx");
string sFileName = @"test.xlsx";
FileInfo file = new FileInfo(Path.Combine(sWebRootFolder, sFileName));
using (var con = new SqlConnection(@"Data Source=sivan.nsp\SQLEXPRESS;Initial Catalog=DVS;Integrated Security=True;"))
{
con.Open();
try
{
using (ExcelPackage epPackage = new ExcelPackage(file))
{
var worksheet = epPackage.Workbook.Worksheets[1];
for (var row = 1; row <= worksheet.Dimension.End.Row; row++)
{
var rowValues = worksheet.Cells[row, 1, row, worksheet.Dimension.End.Column];
var cmd = new SqlCommand("INSERT INTO test(ID, Name, Gender, Salary) VALUES (@contactid, @firstname, @secondname, @age)", con);
cmd.Parameters.AddWithValue("@contactid", rowValues["A1"].Value);
cmd.Parameters.AddWithValue("@firstname", rowValues["B1"].Value);
cmd.Parameters.AddWithValue("@secondname", rowValues["C1"].Value);
cmd.Parameters.AddWithValue("@age", rowValues["D1"].Value);
cmd.ExecuteNonQuery();
}
}
return "sucessfully uploded";
}
catch (System.Exception ex)
{
return "Some error occured while importing." + ex.Message;
}
}
}
}
}