導出excel

一· 通過構造table表格導出Excel

//1、獲取數據源(List變量)
            //List<Person> list = new List<Person>() {
            
            //   new Person(){ID=1,Name="張三",Age=20,Sex="男"},
            //   new Person(){ID=2,Name="李四",Age=21,Sex="女"},
            //   new Person(){ID=3,Name="王五",Age=22,Sex="男"},
            //   new Person(){ID=4,Name="趙六",Age=23,Sex="女"}
            
            //};
            //2、構造table表格
            string sHtml = "";
            StringBuilder sTable = new StringBuilder();
           // sTable.Append("<table  border=\"1\">");
            sHtml += "<table  border=\"1\">";
            //定義列頭
           // sTable.Append("<tr><td>編號</td><td>姓名</td><td>年齡</td><td>性別</td></tr>");

            sHtml += "<tr><td>編號</td><td>姓名</td><td>年齡</td><td>性別</td></tr>";
            //定義數據行
            foreach (var item in list)
            {
                 sTable.Append("<tr><td>"+item.ID+"</td><td>"+item.Name+"</td><td>"+item.Age+"</td><td>"+item.Sex+"</td></tr>");
            }
            sTable.Append("</table>");

            //3、通過file輸出excel文件
            byte[] fileContents = Encoding.Default.GetBytes(sTable.ToString());
            return File(fileContents, "application/ms-excel", "人員表.xls");  

二·通過NPOI第三方組件導出excel

添加NPOI引用

 public ActionResult ExportByNPOI()
        {
            //1、獲取數據源(List變量)
            //List<Person> list = new List<Person>() {
            
            //   new Person(){ID=1,Name="張三",Age=20,Sex="男"},
            //   new Person(){ID=2,Name="李四",Age=21,Sex="女"},
            //   new Person(){ID=3,Name="王五",Age=22,Sex="男"},
            //   new Person(){ID=4,Name="趙六",Age=23,Sex="女"}
            
            //};
            //2、創建Excel文件的對象
            NPOI.HSSF.UserModel.HSSFWorkbook excel = new NPOI.HSSF.UserModel.HSSFWorkbook();
            //添加一個sheet
            NPOI.SS.UserModel.ISheet sheet = excel.CreateSheet("Sheet1");
            //給sheet1添加標題行
            NPOI.SS.UserModel.IRow head = sheet.CreateRow(0);
            head.CreateCell(0).SetCellValue("編號");
            head.CreateCell(1).SetCellValue("姓名");
            head.CreateCell(2).SetCellValue("年齡");
            head.CreateCell(3).SetCellValue("性別");
            //將數據逐步寫入sheet1各個行
            for (int i = 0; i < list.Count; i++)
            {
                NPOI.SS.UserModel.IRow row = sheet.CreateRow(i + 1);
                row.CreateCell(0).SetCellValue(list[i].ID);
                row.CreateCell(1).SetCellValue(list[i].Name);
                row.CreateCell(2).SetCellValue(list[i].Age);
                row.CreateCell(3).SetCellValue(list[i].Sex);
            }
            // 寫入到客戶端 
            System.IO.MemoryStream ms = new System.IO.MemoryStream();
            excel.Write(ms);
            ms.Seek(0, SeekOrigin.Begin);
            return File(ms, "application/vnd.ms-excel", "人員表.xls");
        }



發佈了17 篇原創文章 · 獲贊 7 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章