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");



        }
复制代码

 

posted @   哪啊哪啊神去村  阅读(2008)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
历史上的今天:
2012-02-20 Web 应用程序当前不可用、需要输入管理员密码验证的解决方法
点击右上角即可分享
微信分享提示