Asp.net MVC 利用 Nopi 导出 Excel

/// <summary>
		/// 导出认账流水
		/// </summary>
		/// <returns></returns>
		public ActionResult ExportAdmitBankTrans(BankTransQueryModel queryModel)
		{
			HSSFWorkbook workBook = new HSSFWorkbook();
			ISheet sheet = workBook.CreateSheet("商务报表");
			IRow row = sheet.CreateRow(0);

			// 获取样式
			Func<ICellStyle> getCellStyle = () =>
			{
				ICellStyle cellStyle = workBook.CreateCellStyle();
				cellStyle.Alignment = HorizontalAlignment.Center;
				return cellStyle;
			};

			ICellStyle headerStyle = getCellStyle();
			IFont fontHeade = workBook.CreateFont();
			fontHeade.FontHeightInPoints = 11;
			fontHeade.FontName = "微软雅黑";
			fontHeade.Boldweight = (short)FontBoldWeight.Bold;
			headerStyle.SetFont(fontHeade);

			Func<string, int, ICell> setCellStyle = (string cellText, int colindex) =>
			{
				ICell cell = row.CreateCell(colindex);
				sheet.SetColumnWidth(colindex, 9000);
				cell.SetCellValue(cellText);
				cell.CellStyle = headerStyle;
				return cell;
			};
			setCellStyle("供应商名称", 0);
			setCellStyle("采购编号", 1);
			setCellStyle("实际到账", 2);
			setCellStyle("到账日期", 3);
			int rowStart = 1;

			var list = BankTransBll.Instance.GetAllBankTransRealList(queryModel);
			if (list != null)
			{
				foreach (var item in list)
				{
					IRow myrow = sheet.CreateRow(rowStart);
					myrow.CreateCell(0).SetCellValue(item.CompanyName);
					myrow.CreateCell(1).SetCellValue(item.ContractNo);
					myrow.CreateCell(2).SetCellValue(item.Amount.ToString("f2"));
					myrow.CreateCell(3).SetCellValue(item.REC_CREATETIME.ToShortDateString());

					rowStart++;
				}
			}

			using (MemoryStream ms = new MemoryStream())
			{
				workBook.Write(ms);
				byte[] buffers = ms.ToArray();

				return File(buffers, "application/vnd.ms-excel", string.Format("{0}.xls", DateTime.Now.ToString("yyyyMMddHHmmss")));

			}
		}

  

时间: 2024-10-17 04:35:12

Asp.net MVC 利用 Nopi 导出 Excel的相关文章

asp.net Mvc 使用NPOI导出Excel文件

1.新建MVC项目,新建控制器.视图 添加控制器: 添加视图(将使用布局页前面的复选框里的勾勾去掉) 2.在Models里新建一个类 public class Shop { /// <summary> /// 编号 /// </summary> public int Number { get; set; } /// <summary> /// 商品名称 /// </summary> public string ShopName { get; set; } /

Asp.Net MVC 使用FileResult导出Excel数据文件

用的是Html拼接成Table表格的方式,返回 FileResult 输出一个二进制的文件. 第一种:使用FileContentResult // // 摘要: // 通过使用文件内容,内容类型,文件名称创建一个FileContentResult对象// // 参数: // fileContents: // 响应的二进制文件内容 // // contentType: // 内容类型(MIME类型) // // fileDownloadName: // 显示在浏览器下载窗口的文件名称// // 返

Excel导出学习之道:Java Web利用POI导出Excel简单例子

采用Spring mvc架构: Controller层代码如下 [java] view plaincopy @Controller public class StudentExportController{ @Autowired private StudentExportService studentExportService; @RequestMapping(value = "/excel/export") public void exportExcel(HttpServletReq

NOPI导出Excel

Imports System.IO Imports NPOI.HSSF.UserModel Imports NPOI.HPSF Imports NPOI.POIFS.FileSystem Imports NPOI.HSSF.Util Imports NPOI.SS.UserModel Imports NPOI.SS.Util Imports Common Public Class NopExcel Private Init_Date As String = String.Empty Privat

利用ultraGridExporter导出EXCEL表的方法

SaveFileDialog saveFileDialogExcel = new SaveFileDialog();saveFileDialogExcel.Filter = "Excel 文件(*.xls)|*.xls|Excel 文件(*.xlsx)|*.xlsx|所有文件(*.*)|*.*";if (saveFileDialogExcel.ShowDialog() == DialogResult.OK){    this.ultraGridExcel.Export(grid, sa

利用Extjs导出excel文件(转)

最近在做一个项目,需要在原先的表格的基础上导出excel文件,原先是想用java后台来实现这个功能,但是,后来发现,原来extjs也附带有导出excel表的功能,就在GridPanel的基础上导出,http://www.blogjava.net/rockblue1988/archive/2012/02/29/370977.html,这是我做的时候,参考的一篇网上的文章.具体的做法是,将extjsGridPanel里面的数据拿出来,转换成xml,然后发送给后台,后台响应之后,将数据输出为Excel

ASP.NET MVC利用PagedList分页(二)PagedList+Ajax+JsRender

(原文) 昨天在ASP.NET MVC利用PagedList分页(一)的 最后一节提到,一个好的用户体验绝对不可能是点击下一页后刷新页面,所以今天来说说利用Ajax+PagedList实现无刷新(个人绝对局部刷新更准确 些)的分页.其实在PagedList.Mvc中早已经为我们提供好了Ajax分页的各种东东,但是这里我要自己写下. 实现思想: 1.客户端发送Ajax请求.2.服务器端响应请求并将响应结果回传给客户端.3.客户端接收响应结果并进行数据绑定. 实现方案: 大多数人都知道这个思想,但是

转:【译】Asp.net MVC 利用自定义RouteHandler来防止图片盗链

[译]Asp.net MVC 利用自定义RouteHandler来防止图片盗链 你曾经注意过在你服务器请求日志中多了很多对图片资源的请求吗?这可能是有人在他们的网站中盗链了你的图片所致,这会占用你的服务器带宽.下面这种方法可以告诉你如何在ASP.NET MVC中实现一个自定义RouteHandler来防止其他人盗链你的图片. 首先,我们来回顾一下当一个请求发往ASP.net MVC站点时的情景,IIS收到请求并将请求转到ASP.net,然后根据URL,或者更确切来说:被请求文件的扩展名.在IIS

利用Servlet导出Excel

-----因为Excel可以打开HTML文件,因此可以利用页面的Form表单把页面中的table内容提交给Servlet,然后后台把提交上来的table内容转换成文件流的形式,并以下载的形式转给客户端,由此完成导出Excel功能. 效果: <!--[endif]--> Java代码 package com.mr; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletExcepti