public ActionResult ExportAgentBooking(string Company_Id, string Company_Name)//Altman.Web.BCDAdmin.Models.CompanyInfo argCompanyInfo)
{
if (string.IsNullOrWhiteSpace(Company_Id) || string.IsNullOrWhiteSpace(Company_Name))
{
return View();
} Dictionary<string, object> vDic = new Dictionary<string, object>();
vDic.Add("argCompanyId", Company_Id);//argCompanyInfo.Company_Id);
vDic.Add("argStatus", (int)Altman.Web.Common.Utility.State.Active);
vDic.Add("argGroupType", (int)Altman.Web.Common.Utility.GroupType.AgentBookingGroup); ClientResponse vUserInGroup = ExcuteService("Altman.Services.BCDAdmin.Group", "GetAgentBookingUser", vDic);
DataTable vDT = vUserInGroup["DtUsers"] as DataTable; Common.ExcelHelper vExcelHelper = new ExcelHelper();
MemoryStream vStream = vExcelHelper.ExeportAgentBookingData(vDT);
if (vStream == null)
{
return View();
}
string vFileName = string.Concat(Company_Name, ".xls");
return File(vStream.ToArray(), CONTENTTYPE, vFileName);
}

EXCEL处理类:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web; using System.IO;
using NPOI.HSSF.UserModel;
using NPOI.SS.UserModel;
using System.Data;
namespace Altman.Web.BCDAdmin.Common
{ public class ExcelHelper
{
public MemoryStream ExeportAgentBookingData(DataTable vDt)
{
vDt.DefaultView.Sort = "Group_Name desc,Agent_User_Id desc";
vDt = vDt.DefaultView.ToTable();
MemoryStream file = new MemoryStream();
if (vDt == null || vDt.Rows.Count == )
{
return null;
} int vRowIndex = ;
HSSFWorkbook vHssfworkbook = new HSSFWorkbook();
ISheet vSheet1 = vHssfworkbook.CreateSheet();//.GetSheetAt(0);
IRow rowFirst = vSheet1.CreateRow(vRowIndex);
rowFirst.CreateCell().SetCellValue("组名");
rowFirst.CreateCell().SetCellValue("代订人 ");
rowFirst.CreateCell().SetCellValue("被代订人 ");
rowFirst.CreateCell().SetCellValue("Email"); //设置sheet的属性
for (int colCount = ; colCount < ; colCount++)
{
vSheet1.SetColumnWidth(colCount, * );
} vRowIndex++;
foreach(DataRow vRow in vDt.Rows)
{
IRow row = vSheet1.CreateRow(vRowIndex);
string vUser_ID = vRow["User_ID"].AsString();
string vAgent_User_Id = vRow["Agent_User_Id"].AsString();
if (string.IsNullOrWhiteSpace(vUser_ID) && string.IsNullOrWhiteSpace(vAgent_User_Id))
{
continue;
}
row.CreateCell().SetCellValue(vRow["Group_Name"].AsString());
if(!string.IsNullOrWhiteSpace(vUser_ID))//被代订人
{
row.CreateCell().SetCellValue(vRow["User_Name"].AsString());
}
if(!string.IsNullOrWhiteSpace(vAgent_User_Id))//代订人
{
row.CreateCell().SetCellValue(vRow["User_Name"].AsString());
}
row.CreateCell().SetCellValue(vRow["User_Email"].AsString());
vRowIndex++;
}
if (vRowIndex == )
{
return null;
}
vHssfworkbook.Write(file);
return file;
}
}
}

生成Excel直接以流或字节形式发给客户端,无需在服务生成一个实体文件。的更多相关文章

  1. ean13码的生成,python读取csv中数据并处理返回并写入到另一个csv文件中

    # -*- coding: utf-8 -*- import math import re import csv import repr def ean_checksum(eancode): &quo ...

  2. 在.NET中使用EPPlus生成Excel报表 .

    --摘抄自:http://blog.csdn.net/zhoufoxcn/article/details/14112473 在开发.NET应用中可能会遇到需要生成带图表(Chart)的Excel报表的 ...

  3. java 写 Excel(不生成实体文件,写为流的形式)

    java 写 Excel(不生成实体文件,写为流的形式) public String exportReportExcel(String mediaCode, List<SimpleMediaRe ...

  4. Java写Excel(不生成实体文件,写为流的形式)

    java 写 Excel(不生成实体文件,写为流的形式) public String exportReportExcel(String mediaCode, List<SimpleMediaRe ...

  5. npoi生成excel流并在客户端下载(html+后台 )

    //前端页面 <body> <input type="button" value="导出Excel" class="button&q ...

  6. POI导出excel并下载(以流的形式在客户端下载,不保存文件在服务器上)

    import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFCellStyle; i ...

  7. ExcelHelper----根据指定样式的数据,生成excel(一个sheet1页)文件流

    /// <summary> /// Excel导出类 /// </summary> public class ExcelHelper { /// <summary> ...

  8. 两种方式实现java生成Excel

    Web应用中难免会遇到需要将数据导出并生成excel文件的需求.同样,对于本博客中的总结,也是建立在为了完成这样的一个需求,才开始去了解其实现形式,并且顺利完成需求的开发,先将实现过程总结于此.本博文 ...

  9. phpexcel生成excel并下载

    Loader::import('PHPExcel.Classes.PHPExcel'); // tp5中只需将phpexcel文件放入extend文件夹中,即可采用该方法引入,需要先 use thin ...

随机推荐

  1. 【WP之一】]独立存储

    介绍: 提供一个磁盘存储空间,他是一种虚拟的文件系统,能存储小量的数据:在默认的情况下,它只能存储1MB的文件.根据使用方式及功能的不同,独立存储空间又包含两部分:独立设置存储和独立文件存储.除非卸载 ...

  2. MSSQL死锁产生原因及解决方法

    一.    什么是死锁 死锁是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去.此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等的进 ...

  3. php 获取时间今天明天昨天时间戳

    <?php echo "今天:".date("Y-m-d")."<br>";      echo "昨天:&qu ...

  4. 设置Linux下Mysql表名不区分大小写

    1.Linux下mysql安装完后是默认:区分表名的大小写,不区分列名的大小写:2.用root帐号登录后,在/etc/my.cnf中的[mysqld]后添加添加lower_case_table_nam ...

  5. Python进阶05 循环设计

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在"循环"一节,我们已经讨论了Python基本的循环语法.这一 ...

  6. Ubuntu设置环境变量并立即生效

    Ubuntu Linux系统包含两类环境变量:系统环境变量和用户环境变量.系统环境变量对所有系统用户都有效,用户环境变量仅仅对当前的用户有效. 修改用户环境变量 用户环境变量通常被存储在下面的文件中: ...

  7. shell+Jenkins+jmeter集成

    参考http://www.cnblogs.com/ceshi2016/p/6025641.html 中除ant相关内容,shell替代ant循环执行jmeter脚本和将jtl转换为html job n ...

  8. Android Studio 系列教程(转载)

    史上最详细的Android Studio系列教程一--下载和安装:http://segmentfault.com/a/1190000002401964史上最详细的Android Studio系列教程二 ...

  9. .NET 中文转缩写拼音

    public class CNToSpell { /// 汉字转拼音缩写 /// Code By MuseStudio@hotmail.com /// 2004-11-30 /// 要转换的汉字字符串 ...

  10. MYSQL C API : mysql_init()

    MYSQL * mysql_init(MYSQL *mysql); // 初始化一个MYSQL 连接的实例对象 void mysql_close(MYSQL *sock); // 释放一个MYSQL ...