epplus

Write to Excel file hosted on Sharepoint 2016 using EPPlus (C#)

和自甴很熟 提交于 2020-06-13 10:02:06
问题 I'm trying for many days to write to an excel file without success. The file is hosted on a sharepoint 2016 site which I am the administrator. I can read all the sheets of the file without any problem. But when I try to load it to an ExcelPackage variable, it seems, the stream length is 0. You have details of what happening in the code comments. Do you have any idea of what I'm doing wrong ?? Any help will be appreciated. Here is the code : public static ClientContext clientContext; private

How to get/read picture from Excel file (xlsx) using EPPlus

旧街凉风 提交于 2020-05-29 05:41:12
问题 Let's assume I have a worksheet named sheet1 which contain a picture named pic_001 How can I get this picture as System.Drawing.Image object. 回答1: OK I found out how to: public static Image GetImage(string sheetname, ExcelPackage excelFile) { var sheet = excelFile.Workbook.Worksheets[sheetname]; var pic = sheet.Drawings["pic_001"] as ExcelPicture; return pic.Image; } 回答2: all xlsx files are really zip files. you can copy/rename the .xlsx extension to .zip and navigate the folder hierarchy

C# EPPlus merge Excel Files

不羁岁月 提交于 2020-05-27 03:05:30
问题 I want to merge multiple Excel files with EPPlus in C#. I did the following: using (MemoryStream protocolStream = new MemoryStream()) { ExcelPackage pck = new ExcelPackage(); HashSet<string> wsNames = new HashSet<string>(); foreach (var file in files) { ExcelPackage copyPck = new ExcelPackage(new FileInfo(file)); foreach (var ws in copyPck.Workbook.Worksheets) { string name = ws.Name; int i = 1; while (!wsNames.Add(ws.Name)) name = ws.Name + i++; ws.Name = name; var copiedws = pck.Workbook

C# EPPlus merge Excel Files

独自空忆成欢 提交于 2020-05-27 03:02:22
问题 I want to merge multiple Excel files with EPPlus in C#. I did the following: using (MemoryStream protocolStream = new MemoryStream()) { ExcelPackage pck = new ExcelPackage(); HashSet<string> wsNames = new HashSet<string>(); foreach (var file in files) { ExcelPackage copyPck = new ExcelPackage(new FileInfo(file)); foreach (var ws in copyPck.Workbook.Worksheets) { string name = ws.Name; int i = 1; while (!wsNames.Add(ws.Name)) name = ws.Name + i++; ws.Name = name; var copiedws = pck.Workbook

EPPlus Sort Pivot Table on DataField instead of just RowField

狂风中的少年 提交于 2020-05-15 02:35:08
问题 I have created an Excel Pivot Table in a worksheet using the EPPlus toolkit, version 3.1. I am able to sort the resulting table on the row field but would like to be able to do it on the Data Fields. As an example, I downloaded the 3.1 source code from here: EEPlus 3.1 Source Code which has a unit test called CreatePivotTable(). It contains a 'Data' tab that looks like so: var ws = _pck.Workbook.Worksheets.Add("Data"); ws.Cells["K1"].Value = "Item"; ws.Cells["L1"].Value = "Category"; ws.Cells

EPPlus Sort Pivot Table on DataField instead of just RowField

半城伤御伤魂 提交于 2020-05-15 02:35:07
问题 I have created an Excel Pivot Table in a worksheet using the EPPlus toolkit, version 3.1. I am able to sort the resulting table on the row field but would like to be able to do it on the Data Fields. As an example, I downloaded the 3.1 source code from here: EEPlus 3.1 Source Code which has a unit test called CreatePivotTable(). It contains a 'Data' tab that looks like so: var ws = _pck.Workbook.Worksheets.Add("Data"); ws.Cells["K1"].Value = "Item"; ws.Cells["L1"].Value = "Category"; ws.Cells

.NET导出Excel的四种方法及评测

旧时模样 提交于 2020-04-22 02:18:34
.NET导出Excel的四种方法及评测 导出 Excel 是 .NET 的常见需求,开源社区、市场上,都提供了不少各式各样的 Excel 操作相关包。本文,我将使用 NPOI 、 EPPlus 、 OpenXML 、 Aspose.Cells 四个市面上常见的库,各完成一个导出 Excel 示例。然后对其代码风格和 性能 做一个横向比较。最后我将说出我自己的感想。 文中所有的示例代码可以在这里下载: https://github.com/sdcb/blog-data/tree/master/2019/20190824-dotnet-excel-compare NPOI NPOI 源自于 Java 写的 Apache POI ,目前最新版本是 2.4.1 。 NPOI 是开源项目,作者是 华人 ,项目地址是: https://github.com/tonyqus/npoi 。 几年前大家导出 Excel 都使用 COM ,但 COM 不方便,这个组件的推出无疑弥补了 .NET 在 Excel 方面组件的空白,大家都说比 COM 好用。 NPOI 还加入了 .NET Core Community组织 。 EPPlus EPPlus 是另一个开源的 Excel 操作库,目前最新版本是 4.5.3.2 。 Github 地址如下: https://github.com/JanKallman

.NET导出Excel的四种方法及评测

情到浓时终转凉″ 提交于 2020-04-22 00:43:56
.NET导出Excel的四种方法及评测 导出 Excel 是 .NET 的常见需求,开源社区、市场上,都提供了不少各式各样的 Excel 操作相关包。本文,我将使用 NPOI 、 EPPlus 、 OpenXML 、 Aspose.Cells 四个市面上常见的库,各完成一个导出 Excel 示例。然后对其代码风格和 性能 做一个横向比较。最后我将说出我自己的感想。 文中所有的示例代码可以在这里下载: https://github.com/sdcb/blog-data/tree/master/2019/20190824-dotnet-excel-compare NPOI NPOI 源自于 Java 写的 Apache POI ,目前最新版本是 2.4.1 。 NPOI 是开源项目,作者是 华人 ,项目地址是: https://github.com/tonyqus/npoi 。 几年前大家导出 Excel 都使用 COM ,但 COM 不方便,这个组件的推出无疑弥补了 .NET 在 Excel 方面组件的空白,大家都说比 COM 好用。 NPOI 还加入了 .NET Core Community组织 。 EPPlus EPPlus 是另一个开源的 Excel 操作库,目前最新版本是 4.5.3.2 。 Github 地址如下: https://github.com/JanKallman

使用内存映射文件MMF实现大数据量导出时的内存优化(Windows篇)

拥有回忆 提交于 2020-04-18 05:46:19
前言 导出功能几乎是所有应用系统必不可少功能,今天我们来谈一谈,如何使用内存映射文件MMF进行内存优化,本文重点介绍使用方法,相关原理可以参考文末的连接 实现 我们以单次导出一个excel举例(csv同理),excel包含1~n个sheet,在每个sheet中存储的按行和列的坐标在单元格存储具体数据,如果我们要使用MMF,第一个要考虑的就是如何将整个excel合理的存储到MMF中。这里我们引入MMF两个对象: MemoryMappedFile --表示内存映射文件 MemoryMappedViewAccessor --表示随机访问的内存映射文件视图 使用MemoryMappedFile.CreateNew(string mapName, long capacity)可以得到一个指定名称和指定大小的内存映射文件,以下简称mmf * 这里需要注意的是capacity为long类型,以字节为单位,通过计算可知文件大小上限为1G 使用mmf.CreateViewAccessor(long offset, long size)可以得到一个从指定位置开始的指定大小空间的访问器,以下简称accessor * 这里同样需要注意的是size的大小,如果加上offset超过文件大小,会报System.UnauthorizedAccessException: Access to the path is

C#语言:使用EPPlus库将DataTable内容输出到xlsx格式文件

我的梦境 提交于 2020-04-14 09:13:38
【今日推荐】:为什么一到面试就懵逼!>>> 先前工作中遇到一个棘手的问题。之前我写的客户端程序生成xlsx格式文件,使用的方法为在指定计算机上安装Office软件,并通过交互操作Interop的方式调用Office相关COM-API生成xlsx格式文档。但在服务器端(Server-side)Windows系统,对Office程序的自动化操作是不被鼓励和支持的,为防止可能出现的不稳定及死锁,客户端目前使用Interop生成xlsx格式文件的方式不被支持。 (参考MSDN上文章: https://support.microsoft.com/en-us/kb/257757 ) 为了解决这一问题,我在网上找了下可生成xlsx格式文件的三方类库,试用了下EPPlus。 EPPlus主页地址: http://epplus.codeplex.com EPPlus下载地址: http://epplus.codeplex.com/releases/view/625020 我要实现的目标是将一个DataTable数据源的内容输出到xlsx格式文件中,为此我写了一个工具类XlsxHelper,可实现如下功能: 1、public static DataTable GenTestDataTable() 生成一个测试用的DataTable数据源 2、public static void SaveToXlsx