代码:

    public static void ThisTo<T>( List<T> source, string[] colums, Func<T, object[]> action, string savePath, string sheetName = "")
{
XSSFWorkbook xssfworkbook = new XSSFWorkbook();
ISheet sheet = xssfworkbook.CreateSheet(sheetName);
IRow row = sheet.CreateRow();
for (int i = ; i < colums.Length; i++)
{
ICell cell = row.CreateCell(i);
cell.SetCellValue(colums[i]);
}
for (int i = ; i < source.Count; i++)
{
IRow row1 = sheet.CreateRow(i + );
int colIndex = ;
row1.Cells.AddRange(action(source[i]).Select(p =>
{
var colCell = row1.CreateCell(colIndex,CellType.String);
colCell.SetCellValue(p.ToString());
colIndex++;
return colCell;
}));
}
MemoryStream stream = new MemoryStream();
xssfworkbook.Write(stream);
var buf = stream.ToArray();
using (FileStream fs = new FileStream(savePath, FileMode.Create, FileAccess.Write))
{
fs.Write(buf, , buf.Length);
fs.Flush();
}
}

调用:

  ThisTo<NAMES>(a, new string[] { "Name","Gender"}, p =>
{
return new object[] {
p.Name,
p.Gender
};
}, @"D:\ABCD.xlsx", "");

说明:

方法中第一个参数为需导出数据,第二个参数为Excel列名,第三个为导出时数据排布顺序(与第二个参数相对应),第四参数为保存地址,第五参数为sheet名,

调用参照上述调用方法。

最新文章

  1. Linux Svn 安装过程及配置
  2. PPT文档页数显示的增加和更新
  3. js中的text(),html() ,val()的区别
  4. 移动平台自动化测试从零开始-MonkeyRunner工具使用 (第二节)
  5. 20135214万子惠 (2)——-Java面向对象程序设计
  6. 为EditText设置OnTouchListener事件监听
  7. input text 不可编辑的解决办法
  8. web第一节课 sql 数据库连接 查询
  9. Raw qcow qcow2 vhd-vpc虚拟磁盘格式间相互转换
  10. WebService之CXF注解报错(二)
  11. AtomicReference
  12. 查看python中模块的所有方法
  13. PackageManagerService 学习记录 基于7.1.1源码
  14. 《Linux内核设计与实现》第八周读书笔记——第四章 进程调度
  15. 课程二(Improving Deep Neural Networks: Hyperparameter tuning, Regularization and Optimization),第二周(Optimization algorithms) —— 2.Programming assignments:Optimization
  16. Jemeter编写脚本(五类常见请求)
  17. E3-1260L (8M Cache, 2.40 GHz) E3-1265L v2 (8M Cache, 2.50 GHz)
  18. (一)github之基础概念篇
  19. FZU 2082(过路费)
  20. linux 常用命令总结(二)

热门文章

  1. STM32开发(一):简介及开发环境
  2. python学习之路 五:函数式编程
  3. “全栈2019”Java第二十九章:数组详解(中篇)
  4. 牛客挑战赛30D 小A的昆特牌(组合数学)
  5. 正则表达式,sed简单用法
  6. windows下安装ubuntu15.04
  7. linux源码中的核心数据结构
  8. Vue页面加载时,触发某个函数的方法
  9. 【Template】Miller Rabin
  10. vue中实现国际化--语言切换(转载)