Я создал решение, в котором пользователь загружает файл Excel в таблицу базы данных TMP_BEN_DCT с помощью кнопки на странице ASP. NET, используя библиотеки EPPLUS, код и база данных хранятся правильно и вызываются в соответствующих классах. но я продолжаю получать CS7036 на переменные, которые приходят из файла Excel (как только я удаляю одну, ошибка появляется на другой):
CS7036 Нет необходимости в аргументации и переписке по всем параметрам формальное требование 'eTIP_CON' de 'importarController.guardarRegistro (строка, строка, строка, строка, строка, строка, строка, benDBEntities)' bulkBenefi cios
Следующие .cs - это Весь способ загрузки:
using OfficeOpenXml;
using System;
using System.Linq;
using System.Web.Mvc;
using bulkBeneficios.Data;
namespace bulkBeneficios.Controllers
{
public class importarController : Controller
{
// GET: importar
public ActionResult Index()
{
return View("");
}
[HttpPost]
public ActionResult index()
{
String mensaje = string.Empty;
int count = 0;
importarDatos(out count);
return View(mensaje);
}
private bool importarDatos(out int count)
{
var resultado = false;
int contador = 0;
count = 0;
try
{
string rutaArchivo = Server.MapPath("/") + "\\importarTest\\";
var paquete = new ExcelPackage(new System.IO.FileInfo(rutaArchivo));
int inicioColumna = 1; //Si el excel contiene encabezados o filas vacías al inicio
int inicioFila = 2; //Al tener encabezados la plantilla se inicia desde fila 2
ExcelWorksheet planillaTrabajo = paquete.Workbook.Worksheets[1];
object datos = null;
TMP_CAR_DCT_BEN db = new TMP_CAR_DCT_BEN(); //ENTIDAD DE TABLA
benDBEntities db2 = new benDBEntities(); //DB ENTIDAD
do
{
datos = planillaTrabajo.Cells[inicioColumna, inicioFila].Value;
//leer datos
//ID_USU_CAR RUT_DCT TIP_CON ID_CON INI_BEN FIN_BEN MON_CLP
object eID_USU_CAR = planillaTrabajo.Cells[inicioColumna, inicioFila].Value;
object eRUT_DCT = planillaTrabajo.Cells[inicioColumna + 1, inicioFila].Value;
object eTIP_CON = planillaTrabajo.Cells[inicioColumna + 2, inicioFila].Value;
object eID_CON = planillaTrabajo.Cells[inicioColumna + 3, inicioFila].Value;
object eINI_BEN = planillaTrabajo.Cells[inicioColumna + 5, inicioFila].Value;
object eFIN_BEN = planillaTrabajo.Cells[inicioColumna + 6, inicioFila].Value;
object eMON_CLP = planillaTrabajo.Cells[inicioColumna + 7, inicioFila].Value;
if (datos != null & eID_USU_CAR != null & eRUT_DCT != null & eTIP_CON != null & eID_CON != null & eINI_BEN != null & eFIN_BEN != null & eMON_CLP != null)
{
//importarDB
var esValidoCol1 = guardarRegistro(eID_USU_CAR.ToString(), db2); //CS7036
var esValidoCol2 = guardarRegistro(eRUT_DCT.ToString(), db2); //CS7036
var esValidoCol3 = guardarRegistro(eTIP_CON.ToString(), db2); //CS7036
var esValidoCol4 = guardarRegistro(eID_CON.ToString(), db2); //CS7036
var esValidoCol5 = guardarRegistro(eINI_BEN.ToString(), db2); //CS7036
var esValidoCol6 = guardarRegistro(eFIN_BEN.ToString(), db2); //CS7036
var esValidoCol7 = guardarRegistro(eMON_CLP.ToString(), db2); //CS7036
if (esValidoCol1)
{
count++;
}
}
inicioFila++;
}
while (datos == null);
}
catch (Exception ex)
{
}
return resultado;
}
public bool guardarRegistro(String eID_USU_CAR, String eRUT_DCT, String eTIP_CON, String eID_CON, String eINI_BEN, String eFIN_BEN, String eMON_CLP, benDBEntities db2)
{
var resultado = false;
try
{
//if (db2.ID_USU_CAR.Where(t => t.ID_USU_CAR.Equals(ID_USU_CAR)).Count() == 0)
//{
var item1 = new TMP_CAR_DCT_BEN();
item1.ID_USU_CAR = eID_USU_CAR;
db2.TMP_CAR_DCT_BEN.Add(item1);
db2.SaveChanges();
var item2 = new TMP_CAR_DCT_BEN();
item2.TIP_CON = eTIP_CON;
db2.TMP_CAR_DCT_BEN.Add(item2);
db2.SaveChanges();
//}
}
catch (Exception ex)
{
}
return resultado;
}
}
}