/// <summary>
/// 交易账单 导出交易列表
/// </summary>
/// <returns></returns>
public FileResult TranToExcel()
{
Dictionary<string, object> ht = new Dictionary<string, object>();
       //数据源
List<UserTransactionViewModel> list = UserTransactionBLL.GetTransactionListExcelToAdmin(ht,langId);
//添加一个sheet
NPOI.SS.UserModel.ISheet sheet1 = book.CreateSheet("Sheet1");
//给sheet1添加第一行的头部标题
NPOI.SS.UserModel.IRow row1 = sheet1.CreateRow();
row1.CreateCell().SetCellValue(UserTransactionLangEnum.TransactionNumber.ToLang(langId));
row1.CreateCell().SetCellValue(UserTransactionLangEnum.TransactionTitle.ToLang(langId));
row1.CreateCell().SetCellValue(UserTransactionLangEnum.TransactionUser.ToLang(langId));
row1.CreateCell().SetCellValue(UserTransactionLangEnum.TransactionType.ToLang(langId));
row1.CreateCell().SetCellValue(UserTransactionLangEnum.TransactionState.ToLang(langId));
row1.CreateCell().SetCellValue(UserTransactionLangEnum.PayType.ToLang(langId));
row1.CreateCell().SetCellValue(UserTransactionLangEnum.TradingCurrency.ToLang(langId));
row1.CreateCell().SetCellValue(UserTransactionLangEnum.TransactionAmount.ToLang(langId));
row1.CreateCell().SetCellValue(UserTransactionLangEnum.ExchangeHour.ToLang(langId));
row1.CreateCell().SetCellValue(UserTransactionLangEnum.Remarks.ToLang(langId));
//将数据逐步z写入sheet1各个行
for (int i = ; i < list.Count; i++)
{
NPOI.SS.UserModel.IRow rowtemp = sheet1.CreateRow(i + );
rowtemp.CreateCell().SetCellValue(list[i].Transaction.TranNo);
rowtemp.CreateCell().SetCellValue(list[i].Transaction.Trantitle);
rowtemp.CreateCell().SetCellValue(list[i].UserName);
rowtemp.CreateCell().SetCellValue(Enum.GetName(typeof(TransactionTypeDbEnum), list[i].Transaction.TranTypeId));
rowtemp.CreateCell().SetCellValue(Enum.GetName(typeof(StatusDbEnum), list[i].Transaction.StatusId));
rowtemp.CreateCell().SetCellValue(Enum.GetName(typeof(PayTypeDbEnum), list[i].Transaction.PayTypeId));
rowtemp.CreateCell().SetCellValue(list[i].CurrencyName);
rowtemp.CreateCell().SetCellValue(list[i].Transaction.TranAmount.ToString());
rowtemp.CreateCell().SetCellValue(list[i].Transaction.Addtime.ToString("yyyy-MM-dd HH:mm:ss"));
rowtemp.CreateCell().SetCellValue(list[i].Transaction.Remarks);
}
// 写入到客户端
System.IO.MemoryStream ms = new System.IO.MemoryStream();
book.Write(ms);
ms.Seek(, SeekOrigin.Begin);
string fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + UserTransactionLangEnum.TransactionHistory.ToLang(langId)+ ".xls";
return File(ms, "application/vnd.ms-excel", fileName); }

asp.net mvc 使用NPOI插件导出excel的更多相关文章

  1. ASP.Net MVC利用NPOI导入导出Excel

    因近期项目遇到所以记录一下: 首先导出Excel: 首先引用NPOI包 http://pan.baidu.com/s/1i3Fosux (Action一定要用FileResult) /// <s ...

  2. ASP.Net MVC中数据库数据导出Excel,供HTTP下载(转)

    转自http://www.cnblogs.com/hipo/archive/2012/03/13/2394019.html 一.关于下载 一般对下载权限有没有限制,或安全性要求不高的情况下,基于web ...

  3. ASP.Net MVC中数据库数据导出Excel,供HTTP下载

    本文来自:http://www.cnblogs.com/hipo/archive/2012/03/13/2394019.html 一.关于下载 一般对下载权限有没有限制,或安全性要求不高的情况下,基于 ...

  4. 转:ASP.NET MVC 将IList<T>导出Excel文档的泛型类

    /// <summary> /// 提供将泛型集合数据导出Excel文档. /// </summary> /// <typeparam name="T" ...

  5. .net mvc利用NPOI导入导出excel

    1.导出Excel :首先引用NPOI包(Action一定要用FileResult) /// <summary> /// 批量导出需要导出的列表 /// </summary> ...

  6. net mvc 利用NPOI导入导出excel

    1.导出Excel : 首先引用NPOI包(Action一定要用FileResult) /// <summary> /// 批量导出需要导出的列表 /// </summary> ...

  7. ASP.net MVC把Html Table导出Excel

    [HttpPost] public ActionResult ExportExcel(FormCollection form) { string strHtml = form["hHtml& ...

  8. NPOI导入导出Excel

    .net mvc利用NPOI导入导出excel 注意:如何导出的提交方式ajax导出是失效的! 解决方案是:js处理l两个表单的提交  代码:  第一步. 在页面里面加入2个隐藏的iframe, 如下 ...

  9. NPOI导入导出EXCEL通用类,供参考,可直接使用在WinForm项目中

    以下是NPOI导入导出EXCEL通用类,是在别人的代码上进行优化的,兼容xls与xlsx文件格式,供参考,可直接使用在WinForm项目中,由于XSSFWorkbook类型的Write方法限制,Wri ...

随机推荐

  1. 生成用于ROM初始化的coe文件---使用matlab

    生成用于ROM初始化的coe文件---使用matlab t=0:2*pi/2^12:2*pi; y=0.5*sin(t)+0.5; r=ceil(y*(2^8-1)); fid = fopen('si ...

  2. C# .NET XML 序列化为对象,反序列化

    如果遇到:   根级别上的数据无效. 行 1,位置 1   .:即无法反序列化(反序列失败),得到对象为null ,把 xml 文本 Trim一下. xml=xml.Trim(); 序列化完毕你可以看 ...

  3. 20175236 2018-2019-2 《Java程序设计》第六周学习总结

    教材学习内容总结 第七章 try :用于监听.将要被监听的代码(可能抛出异常的代码)放在try语句块之内,当try语句块内发生异常时,异常就被抛出. catch:用于捕获异常.catch用来捕获try ...

  4. java Base36 算法

    package com.github.linushp.wsblog.utils; import java.math.BigInteger; import java.nio.charset.Charse ...

  5. JSON 序列化与反序列化, 与XML相互转换.

    方式一: 使用于 JavaScriptSerializer类 适用于普通场景, Excel导入导出, 前台传输查询参数直接处理等. JavaScriptSerializer serializer = ...

  6. git学习手记(也许仅对本人有用)

    首先明白git的三种状态 commited已提交 =====>git仓库(存着各种版本)modified已修改(此时就是我们的编辑器中的未保存状态)====>工作目录staged暂存状态= ...

  7. airflow整体架构

    run命令运行过程 读取dag文件生成task依赖关系,然后生成封装airflow run的command命令,通过celery发送到executor端,重新执行该airflow run命令. sch ...

  8. linux安装mysql8.0及开启远程访问

    第一步:获取mysql8.0的yum源 进入mysql官网获取RPM包下载地址 https://dev.mysql.com/downloads/repo/yum/     点击下载后, 右键复制链接地 ...

  9. spring事务[转]

    https://www.cnblogs.com/cnmenglang/p/6410848.html 先了解事务的7种传播属性: PROPAGATION_REQUIRED -- 支持当前事务,如果当前没 ...

  10. (转)SQLServer_十步优化SQL Server中的数据访问 三

    原文地址:http://tech.it168.com/a2009/1125/814/000000814758_all.shtml 第六步:应用高级索引 实施计算列并在这些列上创建索引 你可能曾经写过从 ...