C# NPOI-Excel導出 (List集合導出)


1、添加NPOI包,添加引用。

 

 

 

 

 

 

 

 

2、前端調用方法

<button type="button" class="btn btn-primary" onclick="ExportToExcel()">導出Excel</button>

<script type="text/javascript">

//導出Excel
function ExportToExcel() {
window.location.href = "/Home/DataExport"
}
</script>

 

 

3、后端寫法

#region Excel導出
        public FileResult DataExport()
        {
            List<Phone> ExListInfo = new List<Phone>();
            Phone p = new Phone("小米5", "小米", "3500");
            Phone p1 = new Phone("小米2A", "小米", "2500");
            Phone p2 = new Phone("榮耀20Pro", "華為", "3500");
            ExListInfo.Add(p);
            ExListInfo.Add(p1);
            ExListInfo.Add(p2);

            //ExportExcel(ExListInfo);

            //創建Excel文件的對象
            NPOI.HSSF.UserModel.HSSFWorkbook book = new NPOI.HSSF.UserModel.HSSFWorkbook();
            //添加一個sheet
            ISheet sheet1 = book.CreateSheet("Sheet1");

            //貌似這里可以設置各種樣式字體顏色背景等,但是不是很方便,這里就不設置了

            //給sheet1添加第一行的頭部標題
            IRow row1 = sheet1.CreateRow(0);
            row1.CreateCell(0).SetCellValue("手機名稱");
            row1.CreateCell(1).SetCellValue("手機型號");
            row1.CreateCell(2).SetCellValue("手機價格");
            //....N行

            //將數據逐步寫入sheet1各個行
            for (int i = 0; i < ExListInfo.Count; i++)
            {
                IRow rowtemp = sheet1.CreateRow(i + 1);
                rowtemp.CreateCell(0).SetCellValue(ExListInfo[i].PhoneName);
                rowtemp.CreateCell(1).SetCellValue(ExListInfo[i].PhoneType);
                rowtemp.CreateCell(2).SetCellValue(ExListInfo[i].PhonePrice);
                //....N行
            }
            // 寫入到客戶端 
            MemoryStream ms = new MemoryStream();
            book.Write(ms);
            ms.Seek(0, SeekOrigin.Begin);
            DateTime dt = DateTime.Now;
            string dateTime = dt.ToString("yyMMddHHmmssfff");
            string fileName = "手清價格一覽表" + dateTime + ".xls";

            return File(ms, "application/vnd.ms-excel", fileName);



        }

        #endregion

 

 

 

4、效果展示

 

 

 

 

 

 

 

 參考網址:

  https://www.cnblogs.com/CallmeYhz/p/4997691.html  

  http://www.cnblogs.com/liucyi/p/5380688.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM