基本信息
源码名称:mvc导入和导出excel 实例源码下载
源码大小:6.07M
文件格式:.zip
开发语言:C#
更新时间:2017-03-13
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):78630559

本次赞助数额为: 2 元 
   源码介绍


using System;
using System.Collections.Generic;
using System.Data;
using System.Data.OleDb;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace MVC_ExcelInputOut.Controllers
{
    public class ExeclIndexController : Controller
    {
        //
        // GET: /ExeclIndex/

        public ActionResult ExeclIndex(string id)
        {
            List<Student> list = new List<Student>();
            Student s = new Student();
            s.id = "1";
            s.name = "张三";
            s.sex = "男";
            list.Add(s);
            s = new Student();
            s.id = "2";
            s.name = "李四";
            s.sex = "男";
            list.Add(s);
            s = new Student();
            s.id = "3";
            s.name = "王五";
            s.sex = "男";
            list.Add(s);
            ViewBag.list = list;
            if (id == "1")
            {
                ViewBag.dataList = Session["datalist"];
               return  View();
            }

            ViewBag.dataList = list; 
            return View();
        } 
        [HttpPost]
        public ActionResult ExcelIndexOut(FormCollection form)
        {
            //string strHtml = form["hHtml"];
            string strHtml = @"  <html>  <head>
    
    <title>ExeclIndex</title>

</head> ";
            strHtml  = @"<table><tr><th>1</th><th>2</th><th>3</th></tr>
                <tr style='background-color:red;'><td>1</td><td>2</td><td>3</td></tr></table>";

            strHtml  = "</html>";
            strHtml = HttpUtility.HtmlDecode(strHtml);//Html解码
            byte[] b = System.Text.Encoding.Default.GetBytes(strHtml);//字串转byte阵列
             

            return File(b, "application/vnd.ms-excel", "这是Excel.xls");//输出档案给Client端
        }

        //public bool HasFile(this HttpPostedFileBase file)
        //{
        //    return (file != null && file.ContentLength > 0) ? true : false;
        //}
        [HttpPost]
        public ActionResult ExcelIndexInput(HttpPostedFileBase Filedata)
        {
            //var res = Filedata;
            string filename ="";
            string path = "";
            foreach (string upload in Request.Files)
            {
                //if (!Request.Files[upload].HasFile()) continue;
                path = AppDomain.CurrentDomain.BaseDirectory   "uploads/";
                filename = Path.GetFileName(Request.Files[upload].FileName);
                Request.Files[upload].SaveAs(Path.Combine(path, filename));//保存文件
            }
            string filenameurl = Server.MapPath("/")   "uploads\\"   filename;  
            //Path.Combine(path, filename);
            string strConn = "Provider=Microsoft.Ace.OleDb.12.0;"   "data source="   filenameurl   ";Extended Properties='Excel 12.0; HDR=NO; IMEX=1'"; 
            OleDbConnection conn = new OleDbConnection(strConn);
            conn.Open();
            string strExcel = "";
            OleDbDataAdapter myCommand = null;
            DataSet ds = null;
            strExcel = "select * from [Sheet1$]";
            myCommand = new OleDbDataAdapter(strExcel ,conn);
            ds = new DataSet();
            myCommand.Fill(ds, "table1");

            List<Student> list = new List<Student>();
            foreach (DataRow item in ds.Tables[0].Rows)
            {
                Student s = new Student();
                s.id = item[0].ToString();
                s.name = item[1].ToString();
                s.sex = item[2].ToString();
                list.Add(s);
            }
            Session["datalist"] = list;
            return RedirectToAction("ExeclIndex/1");
            //return View("ExeclIndex/ExeclIndex/1");
            //// 如果没有上传文件
            //if (Filedata == null ||
            //    string.IsNullOrEmpty(Filedata.FileName) ||
            //    Filedata.ContentLength == 0)
            //{
            //    return this.HttpNotFound();
            //}

            //// 保存到 ~/photos 文件夹中,名称不变
            //string filename = System.IO.Path.GetFileName(Filedata.FileName);
            //string virtualPath =
            //    string.Format("~/photos/{0}", filename);
            //// 文件系统不能使用虚拟路径
            //string path = this.Server.MapPath(virtualPath);

            //Filedata.SaveAs(path);
            //return this.Json(new { });
        }
            //if (file == null)
            //{
            //    return Content("没有文件!", "text/plain");
            //}
            //var fileName = Path.Combine(Request.MapPath("~/UploadFiles"), Path.GetFullPath(file.FileName));
            //try
            //{
            //    file.SaveAs(fileName);
            //    return Content("上传成功!", "text/plain");
            //}
            //catch
            //{
            //    return Content("上传异常 !", "text/plain");
                //}
                ////string filenameurl="1";
                //HttpFileCollectionBase file = HttpContext.Request.Files;
                //for (int i = 0; i < file.Count; i  )
                //{
                //    HttpPostedFileBase postFile = file[i];
                //    string fileName = Path.GetFileName(postFile.FileName);
                //}
                //string strConn = "Provider=Microsoft.Jet.OleDb.4.0;"   "data source="   filenameurl   ";Extended Properties='Excel 8.0; HDR=YES; IMEX=1'";
                //OleDbConnection conn = new OleDbConnection(strConn);
                //conn.Open();
                //DataSet ds = new DataSet();
                //OleDbDataAdapter odda = new OleDbDataAdapter("select * from [Sheet1$]", conn);
                //odda.Fill(ds);
                //ViewBag.dataList = ds;
                //return View(ds) ;
            //} 
         

        public class Student
        {
            public string id { get; set; }
            public string name { get; set; }
            public string sex { get; set; }
        }
    }
}