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个 ...
随机推荐
- Python 调试:step into/step out/step over 的区别
Python 调试:step into/step out/step over 的区别: 首先在PyCharm 程序中设置 “ 断点 ”,后点击右上角的Debug 按钮进入调试程序状态: step in ...
- C++:模板友元
模板友元函数在类内声明类外定义时都必须加模板前缀,另外模板要写在一个文件内 // generates undefined error for the operator<< function ...
- MFC的CListCtrl双击获取单元格的行列
首先要把ClistCtrl设置为整选中模式和网格模式 SetExtendedStyle(LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT); 重写方法如下: void CAl ...
- django 常用命令 详解
check compilemessages createcachetable dbshell diffsettings dumpdata flush ...
- Java compiler level does not match the version of the installed Java project fac
Java compiler level does not match the version of the installed Java project fac 问题一: 问:项目图标报错,Probl ...
- linux Find命令教程
find的语法: find [起始目录] 寻找条件 操作 还有种表述方式:find PATH OPTION [-exec COMMAND { } \;] 因为find命令会根据我们给的option,也 ...
- hdu 4217Data Structure?
树状数组+二分 就是找第几小的数,,找几次,再求和. . #include<cstdio> #include<cstring> #include<iostream> ...
- 监控 Linux 性能的 18 个命令行工具(转)
http://www.oschina.net/translate/command-line-tools-to-monitor-linux-performance?cmp&p=1# 1.Top- ...
- Codeforces Round #235 (Div. 2) C. Team
C. Team time limit per test 1 second memory limit per test 256 megabytes input standard input output ...
- 插入节点insertBefore()
http://www.imooc.com/code/1699 插入节点insertBefore() insertBefore() 方法可在已有的子节点前插入一个新的子节点. 语法: insertBef ...