У меня есть таблица в листе Excel с именем listproduct.xls. Когда я импортирую файл Excel, я хочу, чтобы он распечатал страницу таблицы в успехе. Страница индекса работает нормально, я могу нажать на просмотр и позволить мне выбрать файл Excel. Но когда я нажимаю импорт, он дает мне ошибку на контроллере продукта. < /P>
string path = Server.MapPath("~/Content/" + excelfile.FileName);
< /code>
Это дает мне ошибку в этой строке. Ошибка, которую он показывает, < /p>
notsupportedException не было никакой код пользователя. Исключение типа 'System.notsupportedException' произошло в mscorlib.dll, но не обрабатывалось в коде пользователя < /p>
< /blockquote>
productcontroller.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Excel = Microsoft.Office.Interop.Excel;
using System.IO;
using ImportExcelFileInASPNETMVC.Models;
namespace ImportExcelFileInASPNETMVC.Controllers
{
public class ProductController : Controller
{
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Import(HttpPostedFileBase excelfile)
{
if (excelfile == null || excelfile.ContentLength == 0)
{
ViewBag.Error = "Please select a excel file
";
return View("Index");
}
else
{
if (excelfile.FileName.EndsWith("xls") || excelfile.FileName.EndsWith("xlsx"))
{
string path = Server.MapPath("~/Content/" + excelfile.FileName);
if (System.IO.File.Exists(path))
System.IO.File.Delete(path);
excelfile.SaveAs(path);
// Read data from excel file
Excel.Application application = new Excel.Application();
Excel.Workbook workbook = application.Workbooks.Open(path);
Excel.Worksheet worksheet = workbook.ActiveSheet;
Excel.Range range = worksheet.UsedRange;
List
listProducts = new List();
for (int row = 3; row
index.cshtml
@{
Layout = null;
}
Index
@using (Html.BeginForm("Import", "Product", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
@Html.Raw(ViewBag.Error)
Excel File
}
< /code>
success.cshtml
@{
Layout = null;
}
Success
Name
@foreach (var p in ViewBag.ListProducts)
{
@p.Name
}
Подробнее здесь: https://stackoverflow.com/questions/386 ... -sharp-mvc