EPPlus简介

简介:Epplus是一个使用Open Office XML(Xlsx)文件格式,能读写Excel 2007/2010文件的开源组件
功效:支持对excel文档的汇入汇出,图表(excel自带的图表基本都可以实现)的列印
使用:首先应该下载Epplus的dll文件

1.添加dll文件至工程bin文件中
2.添加引用
using OfficeOpenXml;        
using OfficeOpenXml.Drawing;        
using OfficeOpenXml.Drawing.Chart;        
using OfficeOpenXml.Style;
3.所有的操作语句需要放置在下面的using中
using (ExcelPackage package = new ExcelPackage()) 
 { 
 }
4.添加sheet
 var worksheet = package.Workbook.Worksheets.Add(“sheet1"); 
5.单元格赋值,这里多说一句,NPOI必须先创建单元格,然后再给单元格赋值,而Epplus不需要,直接找到单元格进行赋值就可以了.
worksheet.Cells[int row, int col].Value = "";
或者
worksheet.Cells["A1"].Value = "";
或者
worksheet.SetValue(row,col,value);//这种赋值方法比上面的性能好一些
6.公式计算
//这是乘法的公式,意思是第三列乘以第四列的值赋值给第五列
worksheet.Cells["E2:E4"].Formula = "C2*D2";

//这是求和公式,意思是第二行第三列的值到第四行第三例的值求和后赋给第五行第三列。
worksheet.Cells[5, 3, 5, 5].Formula = string.Format("SUBTOTAL(9,{0})", new ExcelAddress(2,3,4,3).Address);

SUBTOTAL 函数

7.获取一个区域,并对该区域进行样式设置
                using (var range = worksheet.Cells[1, 1, 1, 5]) //获取一个区域,区域范围是第一行第一列到第一行第五列
                {
                    range.Style.Font.Bold = true;
                    range.Style.Fill.PatternType = ExcelFillStyle.Solid;
                    range.Style.Fill.BackgroundColor.SetColor(Color.DarkBlue);
                    range.Style.Font.Color.SetColor(Color.White);
                }
8.设置单元格样式
                worksheet.Cells["A5:E5"].Style.Border.Top.Style = ExcelBorderStyle.Thin;//设置单元格上边框,同理,右、下、左也一样的设置即可
                worksheet.Cells["A5:E5"].Style.Font.Bold = true;//设置单元格字体加粗
9.设置单元格格式
                worksheet.Cells["C2:C5"].Style.Numberformat.Format = "#,##0";//设置第二行第三列到第五行第三例的数据格式为整数
                worksheet.Cells["D2:E5"].Style.Numberformat.Format = "#,##0.00";//设置第二行第四列到第五行第五列的数据格式为保留小数点后两位
                worksheet.Cells["A2:A4"].Style.Numberformat.Format = "@";//设置第二行第一列到第四行第一列的数据格式为文本格式

                worksheet.Cells.AutoFitColumns(0);  //所有单元格的列都自适应
10.设置筛选器
worksheet.Cells["A1:E4"].AutoFilter = true;//第一行第一列到第四行第五列的数据设置筛选器
11.工作簿进行计算,通常Excel会自动进行计算,但如果你打开工作簿的机器上没有计算引擎,那么这行代码就发挥了作用。
worksheet.Calculate(); 
12.读操作
worksheet.Cells[row, col].Value  //读取指定单元格的值
worksheet.Cells[3, 5].Formula   //读取指定单元格的计算公式
worksheet.Cells[3, 5].FormulaR1C1   //读取指定单元格的R1C1引用方式的公式

看了EPPlus的Sample1到7,其中Sample4是根据现有模板文件导出Excel,Sample7是性能表现。剩余代码有时间继续看。
Sample1 基本的导出Excel
Sample2 读取Excel
Sample3 将数据库的数据导出到Excel,以及在Excel中如何指定单元格为超链接样式
Sample4 根据现有模板文件导出Excel
Sample5 根据Excel中的数据画饼图
Sample6 没有仔细看,导出的Excel相当复杂,各种图标,各种图表
Sample7 性能表现,导出66万条数据也就一分钟不到,主要时间耗在了格式化和IO上,且所有数据都在一个sheet中。

ExcelRange cols = ws.Cells["A:XFD"];//选中所有的列,共16384列

Sample8 读取Excel的数据,并对Excel中Sheet的数据进行linq查询,并输出
Sample9 读取不同的txt文件中的数据,导出到Excel中不同的sheet里,并对数据进行计算以及画出图表

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,117评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,328评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,839评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,007评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,384评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,629评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,880评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,593评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,313评论 1 243
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,575评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,066评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,392评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,052评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,082评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,844评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,662评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,575评论 2 270

推荐阅读更多精彩内容

  • VBA订制工具栏 http://club.excelhome.net/thread-1047254-1-1.htm...
    大海一滴写字的地方阅读 2,215评论 0 0
  • 1.1 VBA是什么 直到90年代早期,使应用程序自动化还是充满挑战性的领域.对每个需要自动化的应用程序,人们不得...
    浮浮尘尘阅读 21,495评论 6 49
  • 一、误删资料恢复 一不小心删错了,还把回收站清空了,咋办啊?只要三步,你就能找回你删掉并清空回收站的东西。 步骤:...
    八爷君阅读 1,526评论 2 7
  • 别和我说你不会EXCEL,半小时让你成为EXCEL高手,据说,80%以上的人看了这个,都相见恨晚,你会么?如果我们...
    夏洛克的克阅读 8,397评论 4 268
  • 没标题,可能是申请错了。懒得改,也不会写,就是烦,没人说话。有一天啊!。我就在想,我活了三十多了。我都干了什么?我...
    流逝的时间我在干嘛阅读 125评论 0 0