WeihanLi.poi 多 sheet 导出
WeihanLi.poi 多 sheet 导出
WeihanLi.poi 多 sheet 导出Intro最近有位朋友在 Github 上提 issue 问,不同的集合类型怎么导出到同一个 excel 不同的 sheet 中,于是就想写篇文章分享一下,希望对需要的朋友有所帮助Sample废话不多说直接上代码吧,首先要导出到不同的 sheet 中需要自己准备一个 workbook 对象,再通过 I
WeihanLi.poi 多 sheet 导出
WeihanLi.poi
多 sheet 导出
最近有位朋友在 Github 上提 issue 问,不同的集合类型怎么导出到同一个 excel 不同的 sheet 中,于是就想写篇文章分享一下,希望对需要的朋友有所帮助
废话不多说直接上代码吧,首先要导出到不同的 sheet 中需要自己准备一个 workbook 对象,再通过 ImportData
来导入数据
var collection1 = new[]
{
new TestEntity1() { Id = 1, Title = "test1" },
new TestEntity1() { Id = 2, Title = "test2" }
};
var collection2 = new[]
{
new TestEntity2() { Id = 1, Title = "test1", Description = "description"},
new TestEntity2() { Id = 2, Title = "test2" }
};
// 准备一个 workbook
var workbook = ExcelHelper.PrepareWorkbook(ExcelFormat.Xlsx);
// 导入 collection1 到第一个 sheet
workbook.ImportData(collection1);
// 导入 collection2 到第二个 sheet
workbook.ImportData(collection2, 1);
// 导出 workbook 到本地文件
workbook.WriteToFile("multi-sheets.xlsx");
最后通过 WriteToFile
去写入到文件或者自己将 workbook 导出到一个 stream 中。
如果需要自定义一些配置还是和之前是一样的,可以使用 attribute 的方式也可以使用 fluent API 的方式,如下:
代码语言:javascript代码运行次数:0运行复制[Sheet(Sheetame = "TestSheet", SheetIndex = 0)]
file sealed class TestEntity1
{
[Column("ID", Index = 0)]
public int Id { get; set; }
public string Title { get; set; } = string.Empty;
}
file sealed class TestEntity2
{
public int Id { get; set; }
public string Title { get; set; } = string.Empty;
public string Description { get; set; }
}
Fluent API 配置如下:
代码语言:javascript代码运行次数:0运行复制var settings = FluentSettings.For<TestEntity2>();
settings.HasSheetSetting(sheet => sheet.Sheetame = "TestEntity2", 1);
settings.Property(x => x.Id)
.HasColumnIndex(0)
.HasColumnOutputFormatter(v => v.ToString("#0000"))
;
settings.Property(x => x.Title)
.HasColumnIndex(1)
;
settings.Property(x => x.Description)
.HasColumnIndex(2)
;
导出结果如下:
sheet0
sheet1
- .cs
- .poi/issues/157
#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格
上传时间: 2025-07-18 16:19:14
上一篇:联想主板coms密码恢复出厂设置
下一篇:PeriodicTimer
留言与评论(共有 12 条评论) |
本站网友 淀山湖时代御湖 | 0秒前 发表 |
Title = "test1" } | |
本站网友 波多野结衣死亡 | 26分钟前 发表 |
Title = "test2" } }; // 准备一个 workbook var workbook = ExcelHelper.PrepareWorkbook(ExcelFormat.Xlsx); // 导入 collection1 到第一个 sheet workbook.ImportData(collection1); // 导入 collection2 到第二个 sheet workbook.ImportData(collection2 | |
本站网友 投资公司注册资本 | 16分钟前 发表 |
SheetIndex = 0)] file sealed class TestEntity1 { [Column("ID" | |
本站网友 华西附二院 | 28分钟前 发表 |
1); settings.Property(x => x.Id) .HasColumnIndex(0) .HasColumnOutputFormatter(v => v.ToString("#0000")) ; settings.Property(x => x.Title) .HasColumnIndex(1) ; settings.Property(x => x.Description) .HasColumnIndex(2) ; 导出结果如下: sheet0 sheet1References.cs.poi/issues/157本文参与 腾讯云自媒体同步曝光计划 | |
本站网友 guest用户 | 9分钟前 发表 |
原始发表:2024-10-1 | |
本站网友 石化了 | 8分钟前 发表 |
如果需要自定义一些配置还是和之前是一样的 | |
本站网友 去除眼部细纹的方法 | 27分钟前 发表 |
如下:代码语言:javascript代码运行次数:0运行复制[Sheet(Sheetame = "TestSheet" | |
本站网友 洛阳凯芙特酒店 | 22分钟前 发表 |
Title = "test1" } | |
本站网友 房屋贷款计算器最新2013 | 15分钟前 发表 |
WeihanLi.poi 多 sheet 导出 WeihanLi.poi 多 sheet 导出Intro最近有位朋友在 Github 上提 issue 问 | |
本站网友 桐城租房网 | 9分钟前 发表 |
Title = "test1" | |
本站网友 112306 | 22分钟前 发表 |
Description = "description"} |