/// <summary>
/// Excel导出类
/// </summary>
public class ExcelHelper
{
/// <summary>
/// 根据指定样式的数据,生成excel(一个sheet1页)文件流
/// </summary>
/// <param name="data">待导出数据的数组(包括隐藏的数据)</param>
/// <param name="title">The title.</param>
/// <param name="header">The header.</param>
/// <param name="isShowRowNo">.如果定义为null或者empty,那么表示不需要增加序号列</param>
/// <param name="colVisibleFlagArray">待导出数据的没列的隐藏标识</param>
/// <param name="autosize">自动单元格宽度调整</param>
/// <returns>MemoryStream.</returns>
public static MemoryStream ExportFromArray(string[][] data, string title, string[] header, bool isShowRowNo, bool[] colVisibleFlagArray,bool autosize = true)
{
string[][] newdata = new string[data.Length][];
List<List<string>> newlist = new List<List<string>>();
List<string> newheader = new List<string>();
//虑隐藏的数据:
//过滤隐藏的数据头
for (int i = ; i < colVisibleFlagArray.Length; i++)
{
if (colVisibleFlagArray[i] == true)
{
newheader.Add(header[i]);
}
}
//过滤隐藏列的数据
for (int j = ; j < data.Length; j++)
{
newdata[j] = new string[newheader.Count];
//当前列数
int cnt = ;
//只添加加显示列的数据
for (int i = ; i < colVisibleFlagArray.Length; i++)
{
if (colVisibleFlagArray[i] == true)
{
newdata[j][cnt] = data[j][i];
cnt++;
}
}
}
//如果显示序号,序号列头指定为“序号”;否则不输出列头
string RowNo = isShowRowNo ? "序号" : null;
MemoryStream stream = new MemoryStream();
ExportExcelFromData instance = new ExportExcelFromData();
SheetDefine sheet=new SheetDefine("sheet1", title, RowNo, newheader.ToArray(), newdata);
sheet.AutoSizeColumn = autosize;
instance.AddSheet(sheet); instance.WriteExcel(stream); return stream;
}
}

ExcelHelper----根据指定样式的数据,生成excel(一个sheet1页)文件流的更多相关文章

  1. Java操作Jxl实现导出数据生成Excel表格数据文件

    实现:前台用的框架是Easyui+Bootstrap结合使用,需要引入相应的Js.Css文件.页面:Jsp.拦截请求:Servlet.逻辑处理:ClassBean.数据库:SQLserver. 注意: ...

  2. [转]powerDesigner生成excel版本的数据库文件

    powerDesigner生成excel版本的数据库文件 出处:http://ray-allen.iteye.com/blog/1893347 脚本 excel  今天收到一个需求,要把数据库设计给一 ...

  3. 数据库数据生成Excel表格(多用在导出数据)

    最近在项目开发中遇到这样一个需求,用户聊天模块产品要求记录用户聊天信息,但只保存当天的,每天都要刷新清空数据,但聊天记录要以Excel的形式打印出来,于是就引出了将数据库的数据导出成Excel表格的需 ...

  4. 问问题_Java一次导出百万条数据生成excel(web操作)

    需求:在web页面操作,一次导出百万条数据并生成excel 分析: 1.异步生成Excel,非实时,完成后使用某种方式通知用户 2.生成多个excel文件,并打包成zip文件,因为一个excel容纳不 ...

  5. extjs4 前台导出grid数据 生成excel,数据量大后台无法接收到数据

    最近做的一个web项目使用的是extsj4 框架,需要一个导出excel功能,通过extjs4 自带的导出方法实现.在前台生成excel的代码,form提交传递到后台输出.前台grid数据超过1000 ...

  6. NPOI 2.1.1 系列(2) 使用NPOI读取List或者datatable数据生成 Excel文档 ;Npoi生成 xlsx 2007以上文档

    结合上一篇文章  NPOI 2.1.1 系列(1) 使用NPOI读取 Excel文档 ;NpoiExcelHelper 导入导出 2003格式 2007格式的 Excel; Npoi 导出 xlsx ...

  7. 导出数据生成Excel(MVC)

    /// <summary> /// 生成Excel /// </summary> /// <returns></returns> public File ...

  8. XLSTransformer生成excel一个简单的演示示例文件

    项目结构图: 在这些项目中使用jar.可以http://www.findjar.com/index.x下载 ExcelUtil类源代码: package util; import java.io.IO ...

  9. Java使用poi从数据库读取数据生成Excel表格

    想要使用POI操作以xsl结尾的Excel,首先要下载poi相关的jar包,用到的jar有: poi-3.9.jar poi-ooxml-3.9.jar poi-ooxml-schemas-3.9.j ...

随机推荐

  1. 比较git commit 两个版本之间次数

    #!/bin/bash f1="$1*" f2="$2*" echo "第一个版本:"$f1 echo "第二个版本:" ...

  2. DNS服务及相关概念

    DNS:域名服务器:Domain Name Server IANA:互联网号码管理局:Internet Assigned Numbers Authority ICANN:互联网名称与数字地址分配机构: ...

  3. spring包下载方法

    http://blog.csdn.net/liangtiaoxian/article/details/52780747 https://jingyan.baidu.com/article/2fb0ba ...

  4. CF1109DSasha and Interesting Fact from Graph Theory(数数)

    题面 传送门 前置芝士 Prufer codes与Generalized Cayley's Formula 题解 不行了脑子已经咕咕了连这么简单的数数题都不会了-- 首先这两个特殊点到底是啥并没有影响 ...

  5. [php审计实战篇]BlueCms v1.6 Union注入

    非常基础的代码审计练习,适合有php基础的审计新手练习 本文作者:Aedoo 来源:i春秋社区 0×01 代码跟踪 首先,进入首页代码 :index.php 包含了php文件:/include/com ...

  6. JSP的介绍及语法详解

    一.简介 > HTML - HTML擅长显示一个静态的网页,但是不能调用Java程序. > Servlet - Servlet擅长调用Java程序和后台进行交互,但是它不擅长显示一个完整的 ...

  7. 能够放在文档的 <head> 中的各种配置元素

    一份关于任何可以写入到你的文档中 <head> 部分的清单 最小推荐 <meta charset="utf-8"> <meta http-equiv= ...

  8. [整理]Unicode 与 UTF8

    目录 先上总结 ASCII utf-8 编码规则 UTF-16 其他 先上总结 Unicode 是一个符号集, 规定了所有符号的二进制编号. UTF8 是unicode的一种编码方式(存储, 传输方式 ...

  9. Android NDK开发及OpenCV初步学习笔记

    https://www.jianshu.com/p/c29bb20908da Android NDK开发及OpenCV初步学习笔记 Super_圣代 关注 2017.08.19 00:55* 字数 6 ...

  10. python 全栈开发:逻辑运算

    基础运算符 逻辑运算: 优先级:()> not > and >or 数字转bool值,0为False,非零的数字为True. 1. print(2 > 1 and 1 < ...