Импорт таблицы Excel в ASP.NET C# MVCC#

Место общения программистов C#
Ответить
Anonymous
 Импорт таблицы Excel в ASP.NET C# MVC

Сообщение Anonymous »

У меня есть таблица в листе 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»