• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Panda.SimpleExcelCore: 基于npoi.core,快速操作excel文件的类库

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

Panda.SimpleExcelCore

开源软件地址:

https://gitee.com/panda_rrr/Panda.SimpleExcelCore

开源软件介绍:

Panda.SimpleExcelCore

.netcore版的SimpeExcel。简便操作excel的类库,包括读取、创建、修改等,支持直接从DataSet、IEnumerable以及linq语句转换成excel工作表,并支持通过特性控制工作表样式。

Hello World

var workbook = new WorkBook();var sheet = workbook.NewSheet("Hello");sheet.Rows[0][0].Value = "Hello World";workbook.Save(@"F:\test.xls");

如何使用


  • 使用nuget搜索Panda.SimpleExcel并安装。
  • 引入命名空间 using SimpleExcel;。这个命名空间下主要有两个类:WorkBookSheetWorkBook用于对整个excel文件的操作,如创建、打开、保存,Sheet用于对工作表的操作,如在特定单元格中添加、修改数据,从数据源中批量导入等。可以参考以下的代码示例:

新建工作簿和工作表:

var workbook = new WorkBook();var sheet = workbook.NewSheet("sheet1");

读取工作簿和工作表:

// 根据路径读取工作簿var workbook = var workbook = new WorkBook(@"F:\projects\Repos\Panda.SimpleExcel\Test\bin\Debug\test.xlsx");// 根据索引读取工作表var sheet1 = workbook.GetSheet(0);// 根据名称读取工作表var sheet2 = workbook.GetSheet("Sheet2");

直接给单元格赋值:(单元格用Sheet.Rows[rowIndex][columnIndex]获取,并使用Value属性获取或修改它的内容)

sheet1.Rows[0][0].Value = "Hello";

Sheet类提供了直接从IEnumerable转换数据的功能。默认情况下,它会将类型T的所有字段名作为表头,将集合中的所有对象排列出来。例如,我们先创建一个类:

public class Person{    public string Name { get; set; }    public string Sex { get; set; }    public int Age { get; set; }}

然后使用Sheet.ConvertFromQuery<T>将集合直接添加到工作表中

var list = new List<Person>();for(int i = 0; i < 10; i++){    var person = new Person()    {        Name = "测试" + i,        Sex = i % 2 == 0 ? "男" : "女",        Age = i    };    list.Add(person);}//将List对象添加到工作表中,第一个参数是集合对象,第二个参数是起始行数,默认为0sheet1.ConvertFromQuery(list, 1);

同样,也可以直接使用linq语句将查询结果添加到工作表

//将linq语句转换成工作表数据var p = from a in list where a.Sex == "男" select a;sheet2.ConvertFromQuery(p);

保存工作簿:

workbook.Save(@"D:\projects\test.xls");

样式控制:可以通过特性来控制工作表的样式。使用Row特性可以控制行样式,使用Column特性可以控制列样式。

[Row(    EvenRowColor = ExcelColor.Aqua,    OddRowColor = ExcelColor.CornflowerBule,    HeaderBackColor = ExcelColor.Maroon,    HeaderFontColor = ExcelColor.White,    HeaderHeight = 20,    HeaderHorAlign = HorizontalAlign.Center,    HeaderVerAlign = VerticalAlign.Center)]public class Person{    [Column(        BackColor = ExcelColor.Brown,         FontColor = ExcelColor.White,         FontSize = 14,        FontFamily = "黑体",        HorAlign = HorizontalAlign.Center,        VerAlign = VerticalAlign.Center,        Name = "姓名")]    public string Name { get; set; }    [Column(        FontColor = ExcelColor.Red,        HorAlign = HorizontalAlign.Left,        VerAlign = VerticalAlign.Center,        Name = "性别")]    public string Sex { get; set; }    public int Age { get; set; }}

效果图:

Excel效果图


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap