NPOI保存到服务器和导出到客户端

保存到服务器

<a class="easyui-linkbutton" href="javascript:void(0);" onclick="downloadexcel();">保存到服务器</a>

function downloadexcel() { 
$.ajax({
//提交数据的类型 POST GET
type: "POST",
//提交的网址
url: "/Signup/GetDownloadEXCEL",
//成功返回之后调用的函数 
success: function (data) {
if (data == true) {
//alert("保存成功!");
} else {
//alert("保存失败!");
}

},
//调用执行后调用的函数
complete: function (XMLHttpRequest, textStatus) {
//alert(XMLHttpRequest.responseText);
//alert(textStatus);
},
//调用出错执行的函数
error: function () {
//请求出错处理
}
});

}
          //说明:HSSFWorkbook 用于创建  .xls  
                //      XSSFWorkbook 用于创建  .xlsx  

                //1.创建EXCEL中的Workbook  
                IWorkbook myHSSFworkbook = new HSSFWorkbook();
                IWorkbook myXSSFworkbook = new XSSFWorkbook();

                //2.创建Workbook中的Sheet  
                ISheet mysheetHSSF = myHSSFworkbook.CreateSheet("sheet1");
                ISheet mysheetXSSF = myXSSFworkbook.CreateSheet("sheet1");

                //3.创建Sheet中的Row  
                IRow rowHSSF = mysheetHSSF.CreateRow(0);
                //SetCellValue有5个重载方法 bool、DateTime、double、string、IRichTextString(未演示)  
                rowHSSF.CreateCell(0).SetCellValue(true);
                rowHSSF.CreateCell(1).SetCellValue(System.DateTime.Now);
                rowHSSF.CreateCell(2).SetCellValue(9.32);
                rowHSSF.CreateCell(3).SetCellValue("Hello World!");

                //4.创建Row中的Cell并赋值  
                IRow rowXSSF = mysheetXSSF.CreateRow(0);
                rowXSSF.CreateCell(0).SetCellValue(false);
                rowXSSF.CreateCell(1).SetCellValue(System.DateTime.Now);
                rowXSSF.CreateCell(2).SetCellValue(9.32);
                rowXSSF.CreateCell(3).SetCellValue("Hello World!");


                //5.保存  
                FileStream fileHSSF = new FileStream(@"E:myHSSFworkbook.xls", FileMode.Create);
                myHSSFworkbook.Write(fileHSSF);
                fileHSSF.Close();

                FileStream fileXSSF = new FileStream(@"E:myXSSFworkbook.xlsx", FileMode.Create);
                myXSSFworkbook.Write(fileXSSF);
                fileXSSF.Close();

导出到客户端: <a class="easyui-linkbutton" href='/Signup/GetDownloadEXCEL' target="_self">导出</a>

   public FileResult GetDownloadEXCEL()
        {
            //获取list数据
            ExcelClass ec = new ExcelClass();
            ec.Id = "1";
            ec.Title = "2";
            ec.SalePrice = "3";
            ec.Summary = "4";
            ec.VipPrice = "5";
            List<ExcelClass> list = new List<ExcelClass>();
            list.Add(ec);

            //创建Excel文件的对象
            NPOI.HSSF.UserModel.HSSFWorkbook book = new NPOI.HSSF.UserModel.HSSFWorkbook();
            //添加一个sheet
            NPOI.SS.UserModel.ISheet sheet1 = book.CreateSheet("Sheet1");

            //给sheet1添加第一行的头部标题
            NPOI.SS.UserModel.IRow row1 = sheet1.CreateRow(0);
            row1.CreateCell(0).SetCellValue("ID");
            row1.CreateCell(1).SetCellValue("用户姓名");
            row1.CreateCell(2).SetCellValue("电话");
            row1.CreateCell(3).SetCellValue("注册时间");
            row1.CreateCell(4).SetCellValue("邀请人ID");
            row1.CreateCell(5).SetCellValue("邀请人名称");
            row1.CreateCell(6).SetCellValue("邀请人电话");
            row1.CreateCell(7).SetCellValue("总积分");
            row1.CreateCell(8).SetCellValue("已使用积分");
            row1.CreateCell(9).SetCellValue("可用积分");
            //将数据逐步写入sheet1各个行
            for (int i = 0; i < list.Count; i++)
            {
                NPOI.SS.UserModel.IRow rowtemp = sheet1.CreateRow(i + 1);
                rowtemp.CreateCell(0).SetCellValue(list[i].Id);
                rowtemp.CreateCell(1).SetCellValue(list[i].Title);
                rowtemp.CreateCell(2).SetCellValue(list[i].SalePrice);
                rowtemp.CreateCell(3).SetCellValue(list[i].Summary);
                rowtemp.CreateCell(4).SetCellValue(list[i].VipPrice);
            }
            // 写入到客户端 
            System.IO.MemoryStream ms = new System.IO.MemoryStream();
            book.Write(ms);
            ms.Seek(0, SeekOrigin.Begin);
            return File(ms, "application/vnd.ms-excel", "用户信息.xls");



        }
原文地址:https://www.cnblogs.com/yangwujun/p/6418713.html