epplus excel数据导出(数据量有点大的情况) Web和Client
Asp.net MVC后台代码
public ActionResult Export()
{ OfficeOpenXml.ExcelPackage ep = new OfficeOpenXml.ExcelPackage();
OfficeOpenXml.ExcelWorkbook wb = ep.Workbook;
OfficeOpenXml.ExcelWorksheet ws = wb.Worksheets.Add("我的工作表");
////配置文件属性
//wb.Properties.Category = "类别";
//wb.Properties.Author = "作者";
//wb.Properties.Comments = "备注";
//wb.Properties.Company = "公司";
//wb.Properties.Keywords = "关键字";
//wb.Properties.Manager = "管理者";
//wb.Properties.Status = "内容状态";
//wb.Properties.Subject = "主题";
//wb.Properties.Title = "标题";
//wb.Properties.LastModifiedBy = "最后一次保存者";
// var list = GetList();
int x = ;
for (int i = ; i < 3; i++)
{
//if (x == 1000000)
//{
// ws = wb.Worksheets.Add("我的工作表" + Guid.NewGuid().ToString());
// x = 0; //}
for (int j = ; j <= ; j++)
{ ws.Cells[(x + ), j].Value = DateTime.Now.ToString(); }
x++; }
//写数据
//ws.Cells[1, 1].Value = "Hello"; //ws.Cells[1, 1].Style.Numberformat.Format = "yyyy-MM-dd"; //ws.Column(1).Width = 40;//修改列宽
//ws.Cells["B1"].Value = "World";
//ws.Cells[3, 3, 3, 5].Merge = true;
//ws.Cells[3, 3].Value = "Cells[3, 3, 3, 5]合并";
//ws.Cells["A4:D5"].Merge = true; //ws.Cells["A4:D5"].Style.HorizontalAlignment = OfficeOpenXml.Style.ExcelHorizontalAlignment.Center;//居中 //ws.Cells["A4"].Value = "Cells[\"A4:D5\"]合并";
//写到客户端(下载)
Response.Clear();
Response.AddHeader("content-disposition", "attachment; filename=FileFlow.xlsx");
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
byte[] data=ep.GetAsByteArray(); Response.AddHeader("Content-Length", data.Length.ToString());
Response.BinaryWrite(data);
//ep.SaveAs(Response.OutputStream); 第二种方式
Response.Flush();
Response.End();
return null; }
FileInfo newFile = new FileInfo(@"d:\test.xlsx");
if (newFile.Exists)
{
newFile.Delete();
newFile = new FileInfo(@"d:\test.xlsx");
}
//using (ExcelPackage package = new ExcelPackage(newFile))
//{
// ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("test");
// worksheet.Cells[1, 1].Value = "名称";
// worksheet.Cells[1, 2].Value = "价格";
// worksheet.Cells[1, 3].Value = "销量"; // worksheet.Cells[2, 1].Value = "大米";
// worksheet.Cells[2, 2].Value = 56;
// worksheet.Cells[2, 3].Value = 100; // worksheet.Cells[3, 1].Value = "玉米";
// worksheet.Cells[3, 2].Value = 45;
// worksheet.Cells[3, 3].Value = 150; // worksheet.Cells[4, 1].Value = "小米";
// worksheet.Cells[4, 2].Value = 38;
// worksheet.Cells[4, 3].Value = 130; // worksheet.Cells[5, 1].Value = "糯米";
// worksheet.Cells[5, 2].Value = 22;
// worksheet.Cells[5, 3].Value = 200; // package.Save();
//}
OfficeOpenXml.ExcelPackage ep = new OfficeOpenXml.ExcelPackage(newFile);
OfficeOpenXml.ExcelWorkbook wb = ep.Workbook;
OfficeOpenXml.ExcelWorksheet ws = wb.Worksheets.Add("我的工作表");
//配置文件属性
//wb.Properties.Category = "类别";
//wb.Properties.Author = "作者";
//wb.Properties.Comments = "备注";
//wb.Properties.Company = "公司";
//wb.Properties.Keywords = "关键字";
//wb.Properties.Manager = "管理者";
//wb.Properties.Status = "内容状态";
//wb.Properties.Subject = "主题";
//wb.Properties.Title = "标题";
//wb.Properties.LastModifiedBy = "最后一次保存者";
// var list = GetList();
int x = ;
for (int i = ; i < ; i++)
{
if (x == )
{
ws = wb.Worksheets.Add("我的工作表" + Guid.NewGuid().ToString());
x = ; }
for (int j = ; j <= ; j++)
{ ws.Cells[(x + ), j].Value = DateTime.Now.ToString();
Console.WriteLine((i+));
}
x++; }
ep.Save();
Client的版本亲测至少可导出千万级别的数据,Web版本要看服务器内存配置。。
epplus下载路径: http://epplus.codeplex.com/
epplus excel数据导出(数据量有点大的情况) Web和Client的更多相关文章
- NPOI读取excel文件导出数据, 而此时文件正在打开中抛异常怎么办
项目中需要用到一些数值表格, 方便起见都是用excel来的. 而如果excel正打开中, 直接使用npoi制作的工具来导出数据的话, 在这一行将会异常: workbook = new XSSFWork ...
- 使用PHP导入Excel和导出数据为Excel文件
有时需要将Excel表格的数据导入到mysql数据库中,我们使用PHP的一个开源项目PHP-ExcelReader可以轻松实现Excel的导入.另外将mysql数据导出为Excel与本站上篇文章中导出 ...
- kettle 使用excel模板导出数据
通过excel进行高速开发报表: 建设思路: 1.首先制订相关的execl模板. 2.通过etl工具(kettle)能够高速的 将数据库中的数据按excel模板导出成新的excel就可以. 当中ket ...
- Aspose.cell中的Excel模板导出数据
//Excel模板导数据(Eexcel中根据DataTable中的个数,给多个Sheet中的模板赋值) public void DataSetToManyExcel(string fileName, ...
- java实现excel表格导出数据
/** * 导出清单 eb中 firstRow(EntityBean) 列表第一行数据,键值对(不包含序号)例:("name","姓名") * data(Ent ...
- Net 自定义Excel模板导出数据
转载自:http://www.cnblogs.com/jbps/p/3549671.html?utm_source=tuicool&utm_medium=referral 1 using Sy ...
- C# Winform Excel的导出,根据excel模板导出数据
namespace dxhbskymDemo { public partial class ExcelForm : DevExpress.XtraEditors.XtraForm { public E ...
- sql server 大数据, 统计分组查询,数据量比较大计算每秒钟执行数据执行次数
-- 数据量比较大的情况,统计十分钟内每秒钟执行次数 ); -- 开始时间 ); -- 结束时间 declare @num int; -- 结束时间 set @begintime = '2019-08 ...
- 大数据学习----day27----hive02------1. 分桶表以及分桶抽样查询 2. 导出数据 3.Hive数据类型 4 逐行运算查询基本语法(group by用法,原理补充) 5.case when(练习题,多表关联)6 排序
1. 分桶表以及分桶抽样查询 1.1 分桶表 对Hive(Inceptor)表分桶可以将表中记录按分桶键(某个字段对应的的值)的哈希值分散进多个文件中,这些小文件称为桶. 如要按照name属性分为3个 ...
随机推荐
- Execute failed: java.io.IOException: Cannot run program "sdk-linux/build-tools/22.0.0/aapt": error=2
在Linux上使用ant编译打包apk的时候,出现以下的错误及解决方法: 1./usr/local/android-sdk-linux/tools/ant/build.xml:698: Execute ...
- mac中使用vi修改二进制文件
mac中使用vi修改二进制文件 1.首先以二进制方式编辑这个文件vi -b datafile 2.使用xxd转换为16进制:%!xxd 文本看起来像这样: 0000000: 1f8b 0808 39d ...
- 〖Linux〗关于Linux软件包安装位置、版本查询
1. 查询版本 aptitude show [软件] 2. 查询路径 dpkg -L [软件] whereis [软件] which [软件]
- 使用create-react-app模板模仿12306app
概述 使用create-react-app模板模仿12306app,实现了登陆和查票购票管理,结合express+mysql做后台,实现数据存储. github地址:https://github.co ...
- 将textarea滚动至底部:
var textarea = document.getElementById('id');textarea.scrollTop = textarea.scrollHeight;
- Python 算法(2) 哈夫曼编码 Huffman Encoding
这个问题原始是用来实现一个可变长度的编码问题,但可以总结成这样一个问题,假设我们有很多的叶子节点,每个节点都有一个权值w(可以是任何有意义的数值,比如它出现的概率),我们要用这些叶子节点构造一棵树,那 ...
- atitit。gui 界面皮肤以及换肤总结 java .net c++
atitit.gui 界面皮肤以及换肤总结 java .net c++ 1. Swing 的皮肤 1 1.1. windows风格 1 1.2. Mac风格 ( liquid 框架) 1 2. 如何给 ...
- Decoration6:改数据结构为继承的关系
一个家装市场有各种登录的角色:设计师.业主…… 这些角色有一些共同的字段,例如passWord,userName,age等等,但是分别又有自己的一些特殊字段,例如设计师要写自己的设计经历,业主可能要有 ...
- maven使用deploy发布到本地仓库
使用maven可以方便的开发好的jar包发布到本地仓库中,方便其他项目依赖使用,在pom.xml文件中添加如下的配置: <distributionManagement> <repos ...
- iOS应用代码段瘦身办法
iOS应用代码段瘦身办法 大型app应对苹果官方代码段大小限制的小伎俩… 背景 苹果官方文档 对二进制 __TEXT 段大小有限制: 代码实在瘦不下去怎么办? 解决方案 利用 rename_secti ...