导出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");
        }



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值