epplus

如何在 Asp.Net Core 实现 Excel 导出功能

删除回忆录丶 提交于 2020-12-09 16:40:52
在web应用程序开发时,或许你会遇到这样的需求,如何在 Asp.Net Core 中实现 excel 或者 word 的导入导出,在 NuGet 上有大量的工具包可以实现这样的功能,本篇就讨论下如何使用 ClosedXML 实现 Excel 数据导出。 安装 ClosedXML 如果想实现 Excel 的导出功能,在 Asp.Net Core 中有很多的dll可以做到,其中的一个叫做 ClosedXML,你可以通过可视化界面 NuGet package manager 去安装,也可以使用命令行 NuGet package manager console 执行下面命令。 Install-Package ClosedXML 将数据导出成 CSV 文件 将数据导成 CSV 文件是非常简单的,毕竟每行数据都是用 , 隔开即可,可以用 NuGet 上的 CsvExport 或者 AWright18.SimpleCSVExporter 去实现,当然你觉得自己很 ????????,可以亲自操刀实现,下面我准备亲自实现一下,先看下面定义的 Author 类。 public class Author { public int Id { get; set; } public string FirstName { get; set; } public string LastName { get; set

Convert Number Stored As Text To Number

喜你入骨 提交于 2020-12-03 03:38:24
问题 I have an Excel workbook that has column C as number stored as text. What is the C# syntax to convert it to number? I know that this VBA will do the job Range("C:C").Select With Selection Selection.NumberFormat = "0.00%" .Value = .Value End With And I tried this with C# - but it left the numbers stored as text. ExcelWorksheet ws3 = pck.Workbook.Worksheets.Add("New Sheet"); ws3.Cells["A1"].LoadFromDataTable(tableforme, true); ws3.View.FreezePanes(2, 4); ws3.Cells["C:C"].Style.Numberformat

生成 excel 插件 Epplus

最后都变了- 提交于 2020-11-24 14:22:49
最近做 .net core 项目 发现一个新的 生成excel 的插件 。 以前值用 aspose 或者 npio。 简介:Epplus是一个使用Open Office XML(Xlsx)文件格式,能读写Excel 2007/2010文件的开源组件 不需要安装office 支持 .net core 生成一个excel 1.添加引用 using officeOpenXml; using officeOpenXml.Drawing; uing officeOpenXml.Style; 2. using(ExcelPackage package=new ExcelPackage()) //新建一个包 { ExcelWorksheet worksheet=package.Workbook.Worksheets.Add("test");//新建一个 名为test的sheet //三种方式给单元格赋值 worksheet.SetValue(1,1,"A") //给单元格赋值 sheet 从 1,1坐标开始 or worksheet.Cells["B2"].Value="xxx"; or worksheet.Cells[2,3].Value="sss"; //保存生成的 excel文件 FileInfo info=new FIleInfo("test.xlsx"); package.SaveAs

C# EPPlus导出EXCEL,并生成Chart表

匆匆过客 提交于 2020-11-23 08:26:42
原文: C# EPPlus导出EXCEL,并生成Chart表 一 在negut添加EPPlus.dll库文件。 之前有写过直接只用Microsoft.Office.Interop.Excel 导出EXCEL,并生成Chart表,非常耗时,所以找了个EPPlus控件。 二 代码部分 System.Data.DataTable dt = new System.Data.DataTable(); dt.Columns.Add("序号", typeof(int)); dt.Columns.Add("数据1", typeof(int)); dt.Columns.Add("数据2", typeof(int)); Random r = new Random(); for (int i = 0; i < 20; i++) { if (i == 6 || i == 16) continue; dt.Rows.Add(i + 1, r.Next(50), r.Next(60)); } ////新建一个 Excel 文件 //string filePath = @"C:\Users\Lenovo\Desktop\" + DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss") + ".xlsx"; //FileStream fileStream = new

C# NPOI导出Excel和EPPlus导出Excel

帅比萌擦擦* 提交于 2020-11-23 05:12:39
转自:http://www.cnblogs.com/tanpeng/p/6155749.html 系统中经常会使用导出Excel的功能。之前使用的是NPOI,但是导出数据行数多就报内存溢出。 最近看到EPPlus可以用来导出Excel,就自己测了下两者导出上的差异。 NPIO官网地址: http://npoi.codeplex.com/ EPPlus官网地址: http://epplus.codeplex.com/ 添加NPOI、EPPlus类库dll使用的是NuGet添加。 在类库References右键Manage NuGet Packages...,之后选择添加对应的dll。 测试结果显示,相同数据结构的数据,EPPlus的导出能力比NPOI强。 20列,NPOI能导出4万数据,导出5万数据时报内存溢出。 EPPlus能导出20万以上数据,导出23万测试时内存溢出。 NPOI导出: 1 private static MemoryStream ExportXlsx(DataTable dt) 2 { 3 XSSFWorkbook workbook = new XSSFWorkbook(); 4 ISheet sheet = null; 5 6 int headRowIndex = 0; 7 string sheetName = "Sheet1"; 8 if (!string

EPPlus Please set the ExcelPackage.LicenseContext property

六眼飞鱼酱① 提交于 2020-11-21 13:30:12
使用EPPlus读取Excel文件 报错 EPPlus 5.0 以后的版本需要指定 商业证书 或者非商业证书。你需要在代码里指定证书或者降低EPPlus版本 //指定EPPlus使用非商业证书 ExcelPackage.LicenseContext = LicenseContext.NonCommercial; 来源: oschina 链接: https://my.oschina.net/u/4692982/blog/4732144

C# 使用Epplus导出Excel [3]:合并列连续相同数据

心已入冬 提交于 2020-11-21 03:32:13
C# 使用Epplus导出Excel [1]:导出固定列数据 C# 使用Epplus导出Excel [2]:导出动态列数据 C# 使用Epplus导出Excel [3]:合并列连续相同数据 C# 使用Epplus导出Excel [4]:合并指定行 C# 使用Epplus导出Excel [5]:样式 导出的Excel数据,列连续相同的则合并并水平垂直居中 原始数据 合并后的数据 代码如下: /// <summary> /// 合并列 /// </summary> /// <param name="sheet"></param> /// <param name="startRowIndex"></param> /// <param name="items"></param> /// <param name="propertySelectors"></param> /// <param name="compareColIndex"> 比较的列 </param> /// <param name="mergeColIndex"> 合并的列集合 </param> public static void MergeColCells(ExcelWorksheet sheet, int startRowIndex, IList<Student> items, Func<Student, object

Magicodes.IE 3.0重磅设计畅谈

百般思念 提交于 2020-11-15 14:00:18
Magicodes.IE 3.0重磅设计畅谈 总体设计图 Magicodes.IE导入导出通用库,支持Dto导入导出、模板导出、花式导出以及动态导出,支持Excel、Csv、Word、Pdf和Html。 IE在去年年底重构一次之后,经过这么长时间的迭代,又迎来了瓶颈。根据本人和HueiFeng的交流,我们决定逐步暂缓小版本的研发,开始IE 3.0的研发和重构之旅。这一次3.0的设计,我们主要考虑了以下方面: 主要解决痛点 在之前的版本迭代中,我们遗留了一些痛点一直并没得到很好的解决,同时我们也有一些想法,也没来及处理: 1.更友好的本地化支持,以及统一的多语言配置。 在之前的版本中,我们虽然可以通过筛选器实现,但是并不太友好。 2.进一步简化和加强动态导出。 动态选择列导出在很多业务中比较常见,我们希望通过更简单的API给用户提供更强大的动态导出功能,而无需用户动态建立DTO并且转换数据类型。 3.合并列头。 4.单元格合并。 目前主要考虑同一个值自动合并的功能。 5.重构并重新定义样式。 支持用户能够非常便捷的定义表样式、列样式(包含列宽、固定列)、行样式(包含行高)以及单元格样式(包含高宽、背景)。 6.脱离特性类重构底层导入导出的最基础的API。 以便支持除了特性类导入导出之外,还支持动态导出以及JSON、XML配置导出。 7.提供更多更简单的钩子函数