关闭

C# Epplus 创建Excel表格

标签: c#excel 2007
1479人阅读 评论(0) 收藏 举报
分类:

EPPlus 可以创建 Excel 2007/2010 表格,官网地址:http://epplus.codeplex.com
支持的功能:
  • Cell Ranges
  • Cell styling (Border, Color, Fill, Font, Number, Alignments)
  • Charts
  • Pictures
  • Shapes
  • Comments
  • Tables
  • Protection
  • Encryption
  • Pivot tables
  • Data validation
  • Conditional formatting
  • VBA
  • Formula calculation
  • Many more...

这里不详细介绍如何使用,只记录下目前所使用的一些常用方法:
1
using System.IO;
2
using OfficeOpenXml;
3
using System.Drawing;
4
using OfficeOpenXml.Style;
5
6
/// <summary>
7
/// AssetBundle报告
8
/// </summary>
9
public class AssetBundleReporter
10
{
11
    private const string kSheetNameAbAssets = "资源使用情况";
12
    private const string kSheetNameAbDetail = "每个所包含的具体资源";
13
14
    public static void PrintReporter()
15
    {
16
        var newFile = new FileInfo("f:/test.xlsx");
17
        if (newFile.Exists)
18
        {
19
            newFile.Delete();
20
        }
21
22
        using (var package = new ExcelPackage(newFile))
23
        {
24
            CreateWorksheetAbAssets(package.Workbook.Worksheets.Add(kSheetNameAbAssets));
25
            CreateWorksheetAbDetail(package.Workbook.Worksheets.Add(kSheetNameAbDetail));
26
27
            FillWorksheetAbAssets(package.Workbook.Worksheets[1]);
28
            package.Save();
29
        }
30
    }
31
32
    private static void CreateWorksheetAbAssets(ExcelWorksheet ws)
33
    {
34
        // 标签颜色
35
        ws.TabColor = ColorTranslator.FromHtml("#32b1fa");
36
37
        // 全体颜色
38
        ws.Cells.Style.Font.Color.SetColor(ColorTranslator.FromHtml("#3d4d65"));
39
        {
40
            // 边框样式
41
            var border = ws.Cells.Style.Border;
42
            border.Bottom.Style = border.Top.Style = border.Left.Style = border.Right.Style
43
                = ExcelBorderStyle.Thin;
44
45
            // 边框颜色
46
            var clr = ColorTranslator.FromHtml("#cad7e2");
47
            border.Bottom.Color.SetColor(clr);
48
            border.Top.Color.SetColor(clr);
49
            border.Left.Color.SetColor(clr);
50
            border.Right.Color.SetColor(clr);
51
        }
52
53
        // 标题
54
        ws.Cells[1, 1].Value = "AssetBundle 文件的资源使用情况";
55
        using (var range = ws.Cells[1, 1, 1, 5])
56
        {
57
            range.Merge = true;
58
            range.Style.Font.Bold = true;
59
            range.Style.HorizontalAlignment = ExcelHorizontalAlignment.Center;
60
            range.Style.VerticalAlignment = ExcelVerticalAlignment.Center;
61
        }
62
63
        // 列头
64
        ws.Cells[2, 1].Value = "AssetBundle 名称";
65
        ws.Cells[2, 2].Value = "Mesh";
66
        ws.Cells[2, 3].Value = "Material";
67
        ws.Cells[2, 4].Value = "Texture2D";
68
        ws.Cells[2, 5].Value = "Shader";
69
70
        using (var range = ws.Cells[2, 1, 2, 5])
71
        {
72
            // 字体样式
73
            range.Style.Font.Bold = true;
74
75
            // 背景颜色
76
            range.Style.Fill.PatternType = ExcelFillStyle.Solid;
77
            range.Style.Fill.BackgroundColor.SetColor(ColorTranslator.FromHtml("#F2F5FA"));
78
79
            // 开启自动筛选
80
            range.AutoFilter = true;
81
        }
82
83
        // 列宽
84
        ws.Column(1).Width = 110;
85
        ws.Column(2).Width = 15;
86
        ws.Column(3).Width = 15;
87
        ws.Column(4).Width = 15;
88
        ws.Column(5).Width = 15;
89
90
        // 冻结前两行
91
        ws.View.FreezePanes(3, 1);
92
    }
93
94
    private static void FillWorksheetAbAssets(ExcelWorksheet ws)
95
    {
96
        // 测试数据
97
        ws.Cells[3, 1].Value = "SubTerrainObjs_1_1.assetbundle";
98
        ws.Cells[3, 1].Hyperlink = new ExcelHyperLink(kSheetNameAbDetail + "!A3", "SubTerrainObjs_1_1.assetbundle");
99
        ws.Cells[3, 2].Value = 45;
100
        ws.Cells[3, 3].Value = 150;
101
102
        ws.Cells[4, 1].Value = "Terrain_Data_1_8.assetbundle";
103
        ws.Cells[4, 1].Hyperlink = new ExcelHyperLink(kSheetNameAbDetail + "!A300", "Terrain_Data_1_8.assetbundle");
104
        ws.Cells[4, 2].Value = 38;
105
        ws.Cells[4, 3].Value = 130;
106
107
        ws.Cells[5, 1].Value = "Terrain_Data_3_3.assetbundle";
108
        ws.Cells[5, 2].Value = 22;
109
        ws.Cells[5, 3].Value = 200;
110
    }
111
112
    private static void CreateWorksheetAbDepend(ExcelWorksheet ws)
113
    {
114
        
115
    }
116
117
    private static void CreateWorksheetAbDetail(ExcelWorksheet ws)
118
    {
119
        // 测试数据
120
        ws.Cells[3, 1].Value = "SubTerrainObjs_1_1.assetbundle";
121
        ws.Cells[300, 1].Value = "Terrain_Data_1_8.assetbundle";
122
        ws.Cells[3000, 3].Value = "Terrain_Data_3_3.assetbundle";
123
    }
124
}
生成的 Excel 效果如下:

 

更好的参考文章:



0
0
查看评论

EPPlus 读写 Excel 资料收集

1. EPPlus概述 EPPlus 是使用Open Office XML格式(xlsx)读写Excel 2007 / 2010文件的.net开发库。 官网:http://epplus.codeplex.com/ EPPlus 支持: 单元格范围单元格样式(边框,颜色,填充,...
  • ejinxian
  • ejinxian
  • 2016-08-25 16:34
  • 4713

epplus概要说明

11
  • cjsyr_cjsyr
  • cjsyr_cjsyr
  • 2014-09-07 21:12
  • 2824

C# Epplus 创建Excel表格

EPPlus 可以创建 Excel 2007/2010 表格,官网地址:http://epplus.codeplex.com
  • akof1314
  • akof1314
  • 2017-06-30 12:42
  • 1479

使用EPPlus(C#)读写Excel

EPPlus 是使用Open Office XML格式(xlsx)读写Excel 2007 / 2010文件的.net开发库。EPPlus 支持:单元格范围、单元格样式(边框,颜色,填充,字体,数字,对齐)、图表、图片、形状、批注、表格、保护加密、数据透视表、数据验证、条件格式、VBA、公式计算等等...
  • alanzyy
  • alanzyy
  • 2016-01-27 21:04
  • 12093

Epplus

终于有时间为大家分享一下Epplus这个插件了,关于Epplus使用的文章不多,更没有很丰富的.在这里给大家分享一下,若是大家觉得文章不错,希望大家能够留下足迹,也希望这篇文章能给大家解决实际的问题.这个插件和目前使用比较多的NPOI插件有很多相同的地方,但自己觉得比NPOI更全面和完整一些.NPO...
  • marvin198801
  • marvin198801
  • 2013-03-21 10:49
  • 4597

Epplus---Excel操作类库

  • 2016-03-26 10:44
  • 151KB
  • 下载

C#使用EPPlus.dll动态库在一般处理程序中实现将datatable导出到excel

一、.如何安装EPPLus 1.在Visual Studio的解决方案的引用上右键选择管理NeGet程序包 2.在管理NuGet程序包中搜索EPPlus,点击进行安装,安装后便直接添加到引用了 二、在一般处理程序中使用EPPlus的OfficeOpenXml命名空间,进行datatable...
  • CGS_______
  • CGS_______
  • 2017-05-23 19:36
  • 1666

C# EPPlus和NPOI组件导出Excel学习总结

使用EPPlus 和NPOI 导出Excel
  • Bear_861110453
  • Bear_861110453
  • 2016-10-27 14:29
  • 1448

ASP.NET导出Excel(利用NPOI和EPPlus库,无需安装Office)

网上提供了很多Asp.net中操作Excel的方法,其中大部分是调用微软的Office组件,下面提供三个无须安装Office即可从Asp.net输出Excel的方法。 1 简单方法 //下面代码输出的Excel有三列(姓名、年龄、性别) //列之间用\t隔开 StringWriter sw ...
  • accountwcx
  • accountwcx
  • 2012-11-04 00:41
  • 9060

NPOI vs EPPlus 导出Excel简单对比

1.什么是NPOI  ----(来自百度百科) NPOI 是 POI 项目的 .NET 版本。POI是一个开源的Java读写Excel、WORD等微软OLE2组件文档的项目。 (一)传统操作Excel遇到的问题: 1、如果是.NET,需要在服务器端装Office,且及时更新它,以防漏洞,还...
  • zr_wb
  • zr_wb
  • 2016-12-12 11:13
  • 2357
    个人资料
    • 访问:3556391次
    • 积分:36086
    • 等级:
    • 排名:第136名
    • 原创:402篇
    • 转载:88篇
    • 译文:5篇
    • 评论:3425条
    个人说明
    联系方式:
    文章存档
    最新评论