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();
//SetCellValue有5个重载方法 bool、DateTime、double、string、IRichTextString(未演示)
rowHSSF.CreateCell().SetCellValue(true);
rowHSSF.CreateCell().SetCellValue(System.DateTime.Now);
rowHSSF.CreateCell().SetCellValue(9.32);
rowHSSF.CreateCell().SetCellValue("Hello World!"); //4.创建Row中的Cell并赋值
IRow rowXSSF = mysheetXSSF.CreateRow();
rowXSSF.CreateCell().SetCellValue(false);
rowXSSF.CreateCell().SetCellValue(System.DateTime.Now);
rowXSSF.CreateCell().SetCellValue(9.32);
rowXSSF.CreateCell().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 = "";
ec.Title = "";
ec.SalePrice = "";
ec.Summary = "";
ec.VipPrice = "";
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();
row1.CreateCell().SetCellValue("ID");
row1.CreateCell().SetCellValue("用户姓名");
row1.CreateCell().SetCellValue("电话");
row1.CreateCell().SetCellValue("注册时间");
row1.CreateCell().SetCellValue("邀请人ID");
row1.CreateCell().SetCellValue("邀请人名称");
row1.CreateCell().SetCellValue("邀请人电话");
row1.CreateCell().SetCellValue("总积分");
row1.CreateCell().SetCellValue("已使用积分");
row1.CreateCell().SetCellValue("可用积分");
//将数据逐步写入sheet1各个行
for (int i = ; i < list.Count; i++)
{
NPOI.SS.UserModel.IRow rowtemp = sheet1.CreateRow(i + );
rowtemp.CreateCell().SetCellValue(list[i].Id);
rowtemp.CreateCell().SetCellValue(list[i].Title);
rowtemp.CreateCell().SetCellValue(list[i].SalePrice);
rowtemp.CreateCell().SetCellValue(list[i].Summary);
rowtemp.CreateCell().SetCellValue(list[i].VipPrice);
}
// 写入到客户端
System.IO.MemoryStream ms = new System.IO.MemoryStream();
book.Write(ms);
ms.Seek(, SeekOrigin.Begin);
return File(ms, "application/vnd.ms-excel", "用户信息.xls"); }
NPOI保存到服务器和导出到客户端的更多相关文章
- NPOI生成不规则Excel表格(并以流的形式下载,不将文件保存在服务器上,直接在客户端导出excel)
//下载NPOI类库并添加引用 using NPOI.SS.UserModel; using NPOI.HSSF.UserModel; using NPOI.SS.Util; public stati ...
- [转].net 使用NPOI或MyXls把DataTable导出到Excel
本文转自:http://www.cnblogs.com/yongfa365/archive/2010/05/10/NPOI-MyXls-DataTable-To-Excel-From-Excel.ht ...
- Cas 服务器 Service(Cas客户端)注册信息维护
作为Cas服务器,允许哪些客户端接入与否是通过配置来定义的.对Cas服务器来说,每一个接入的客户端与一个Service配置对应:在Cas服务器启动时加载并注册上这些Service,与之对应的客户端才能 ...
- redis集群与分片(1)-redis服务器集群、客户端分片
下面是来自知乎大神的一段说明,个人觉得非常清晰,就收藏了. 为什么集群? 通常,为了提高网站响应速度,总是把热点数据保存在内存中而不是直接从后端数据库中读取.Redis是一个很好的Cache工具.大型 ...
- nodejs 服务器实现区分多客户端请求服务
初始实现 var net = require('net');//1 引入net模块 var chatServer = net.createServer();//创建net服务器 var clientL ...
- 在线编辑word文档 可保存到服务器
使用说明:该方法只在office xp 和 2003上 测试通过,2000及以下 版本没试. 注意:你要打开的服务器端的word文档要有写权限.iis要开起 web服务扩展中的webdav为允许 具体 ...
- socket 服务器向指定的客户端发消息
一.需求 需求如题. 当多个客户端连接服务器时,服务器如何给指定的客户端发送消息. 二.解决方案 核心思想: 在服务器端,需保存不同客户端的socket列表及客户端相关信息. socket含有发送方和 ...
- Dynamics AX 2012 R3 Demo 安装与配置 - 安装数据服务器、AOS和客户端 (Step 2)
上一节中,Reinhard主要讲解了怎么配置安装环境,尤其是域控制器,并在域中添加了一个管理员账户 MSDynAX.NET\Reinhard ,以后的安装配置,均在该账户下进行. 现在运行 AX 20 ...
- java文件保存至服务器
import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileOutputStream;import java ...
随机推荐
- [日常] PHP设置 include_path 配置选项
动态设置php.ini中的include_path 配置选项: 两种方式set_include_path($new_include_path)ini_set('include_path',$new_i ...
- 如何向Maven仓库(私服)中上传第三方jar包
本文详细介绍如何向maven仓库中上传第三方jar包. 1.在本地maven安装路径中找到conf文件夹下面的setting.xml文件,里面有访问maven仓库的路径和账号.密码: 2.浏览器打开第 ...
- git ssh key生成
重装系统后,需要重新安装git,ssh key便是遇到的其中一个问题,具体解决办法如下: 1.安装好git客户端后,查看本地是否有.ssh文件,命令如下:mkdir ~/.ssh 2.如果没有该文件, ...
- HNCU专题训练_线段树(1)
1.内存控制2.敌兵布阵4.广告牌5.区间第k大数(模板题)6.just a Hook7.I Hate It8.动态的最长递增子序列(区间更新题)9.图灵树10.覆盖的面积14.买票问题16.村庄问题 ...
- knockout事件绑定
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- 浅谈白鹭Egret
浅谈白鹭Egret 最近在做一个移动项目,技术选型的时候接触到了白鹭,简单了解了之后觉得挺合适的,最终就选择了这个引擎. 为什么会选择白鹭引擎呢? 我看上他主要有一下几点: 1 ...
- http常见状态码有哪些?
ajax常见面试题 1:什么是ajax?ajax作用是什么? 异步的javascript和xml AJAX 是一种用于创建快速动态网页的技术. ajax用来与后台交互 2:原生js ajax请求有几个 ...
- cocos2d-x学习网站
非常好的学习cocos2d-x网站 强烈推荐!---游戏蛮牛
- flutter圆角效果的实现
new Material( borderRadius: BorderRadius.circular(20.0), shadowColor: Colors.blue.shade200, elevatio ...
- flutter开发中常用的dart插件
flutter插件官网地址:https://pub.dartlang.org/packages/ 1. image_picker 一个可以从图库选择图片,并可以用相机拍摄新照片的flutter插件 2 ...