npoi

HSSFworkbook,XSSFworkbook,SXSSFworkbook区别总结

▼魔方 西西 提交于 2020-07-28 14:07:35
今天使用了npoi的HSSFWorkbook导出excel,却出现文件损坏或扩展名不对错误,后来发现后缀只要是“xls”就可以了。 npoi只是java poi的实现版,因此HSSFworkbook,XSSFworkbook,SXSSFworkbook这三种的区别在npoi中同理。 下面转自: https://blog.csdn.net/YiQ2018/article/details/81458149 用JavaPOI导出Excel时,我们需要考虑到Excel版本及数据量的问题。针对不同的Excel版本,要采用不同的工具类,如果使用错了,会出现错误信息。JavaPOI导出Excel有三种形式,他们分别是1.HSSFWorkbook 2.XSSFWorkbook 3.SXSSFWorkbook。 HSSFWorkbook:是操作Excel2003以前(包括2003)的版本,扩展名是.xls; XSSFWorkbook:是操作Excel2007后的版本,扩展名是.xlsx; SXSSFWorkbook:是操作Excel2007后的版本,扩展名是.xlsx; 第一种:HSSFWorkbook poi导出excel最常用的方式;但是此种方式的局限就是导出的行数至多为65535行,超出65536条后系统就会报错。此方式因为行数不足七万行所以一般不会发生内存不足的情况(OOM)。 第二种

abp_vue导入导出excel

笑着哭i 提交于 2020-05-08 05:34:49
后端abp,前端vue导入excel,开始准备用直接用npoi,觉得要写太多的代码,就算从以前的复制粘贴也麻烦,所以偷懒直接用别人的轮子 Magicodes.IE 。这样可以节省很多工作,根据实体生成excel模板、支持枚举、导入时自动验证数据是否合法(必填、类型等) <div id="toc"></div> Excel模板 要导入首先要有录入数据的excel模板,以前都是把模板做好,放到服务器上,给一个下载链接给用户下载,这里可以直接用对象动态生成模板。 //ExcelAppService.cs /// <summary> /// 生成excel模板 /// </summary> /// <typeparam name="T">模板内容实体</typeparam> /// <param name="fileName">下载文件名称</param> /// <returns>输出文件流</returns> internal async Task<FileContentResult> GetTemplate<T>(string fileName = "模板") where T : class, new() { byte[] fileBytes = await importer.GenerateTemplateBytes<T>(); return new

工作总结 1 sql写法 insert into select from 2 vs中 obj文件和bin文件 3 npoi 模板copy CopySheet 最好先全部Copy完后 再根据生...

我的未来我决定 提交于 2020-05-07 21:37:29
我们可以从一个表中复制所有的列插入到另一个已存在的表中: INSERT INTO table2 SELECT * FROM table1; 或者我们可以只复制希望的列插入到另一个已存在的表中: INSERT INTO table2 (column_name(s)) SELECT column_name(s) FROM table1; 1.bin bin目录用来保存项目生成后程序集,它有Debug和Release两个版本,分别对应的文件夹为bin/Debug和bin/Release,这个文件夹是默认的输出路径,我们可以通过:项目属性—>配置属性—>输出路径来修改。 在添加引用时,.NET会记录添加的引用绝对路径,这些设置保存在“每用户”文件中,(Solution.csproj.user),可以通过记事本打开查看。也可以在:项目属性—>通用属性—>引用路径里面查看。如果设置复制到本地为true,在生成项目时会自动拷贝该DLL到项目生成文件夹中(bin目录),否则不会拷贝。在生成项目时,对所添加的引用的是绝对路径,而在运行时程序集默认只在当前所在的路径下去找。要修改引用的路径,必须通过编程的方法去实现。使用References 对象。 在bin\debug\目录中有两个文件,除了要生成的.exe或.dll文件外,还有个.pdb文件,这个.pdb文件中就记录了代码中的断点等调试信息

用c#处理数据:读excel,最小二乘法,wpf画函数图

亡梦爱人 提交于 2020-05-04 21:10:15
最近需要用C#做数据处理,核心是三点:从excel载入数据,处理,画图。折腾了一下午,总算搞得差不多了,记录一下。 首先是用NPOI从excel中载入数据,利用NPOI读取excel不需要安装office,仅依赖于ICSharpCode压缩库,且既能读取office2003格式,也可以读取office2007以上版本的格式,还算是比较好用。 using NPOI.XSSF.UserModel; using NPOI.SS.UserModel; using System; using System.Collections.Generic; using System.Data; using System.IO; using System.Linq; using System.Text; namespace FitAlgorithm { class ExcelHelper { XSSFWorkbook xssfworkbook; DataSet dataSet1 = new DataSet(); void InitializeWorkbook(string path) { //read the template via FileStream, it is suggested to use FileAccess.Read to prevent file lock. //book1.xls

xBIM IFC 输出 Excel 报表

流过昼夜 提交于 2020-04-29 10:19:26
目录 xBIM 应用与学习 (一) xBIM 应用与学习 (二) xBIM 基本的模型操作 xBIM 日志操作 XBIM 3D 墙壁案例 xBIM 格式之间转换 xBIM 使用Linq 来优化查询 xBIM IFC 输出 Excel 报表 xBIM IFC 层次结构 xBIM 多个IFC文件合并 xBIM 插入复制功能 XBIM 基于 WexBIM 文件在 WebGL 浏览和加载 IFC 输出Excel 空间报告文件 本示例将展示从IFC文件读取数据所需的一些概念。它使用IFC4 接口,可以同时用于IFC2x3和IFC4版本。创建EXCEL文件,我们使用开源的组件NPOI。这个例子只需要xBIM Essentials。 引用命名空间: using NPOI.SS.UserModel; // EXCEL 组件 using NPOI.XSSF.UserModel; using System.Diagnostics; using System.IO; using System.Linq; using Xbim.Ifc; using Xbim.Ifc4.Interfaces; 主要的功能如下所示: // 从模板初始化NPOI工作簿 var workbook = new XSSFWorkbook( " template.xlsx " ); var sheet = workbook

C#_.NetCore_WebAPI项目_EXCEL数据导出(ExcelHelper_第二版_优化逻辑)

我的未来我决定 提交于 2020-04-28 20:44:20
项目需要引用NPOI的Nuget包:DotNetCore.NPOI-v1.2.2 1-简单的设置下载文件的控制器方法: // // 摘要: // // / Returns a file with the specified fileContents as content (Microsoft.AspNetCore.Http.StatusCodes.Status200OK), // the // / specified contentType as the Content-Type and the specified fileDownloadName // as the suggested file name. // / This supports range requests (Microsoft.AspNetCore.Http.StatusCodes.Status206PartialContent // or // / Microsoft.AspNetCore.Http.StatusCodes.Status416RangeNotSatisfiable if // the range is not satisfiable). // / // // 参数: // fileContents: // The file contents. // // contentType: // The

C#_.NetCore_WebAPI项目_EXCEL数据导出(ExcelHelper_第二版_优化逻辑)

谁说胖子不能爱 提交于 2020-04-28 19:33:29
项目需要引用NPOI的Nuget包:DotNetCore.NPOI-v1.2.2 1-简单的设置下载文件的控制器方法: // // 摘要: // // / Returns a file with the specified fileContents as content (Microsoft.AspNetCore.Http.StatusCodes.Status200OK), // the // / specified contentType as the Content-Type and the specified fileDownloadName // as the suggested file name. // / This supports range requests (Microsoft.AspNetCore.Http.StatusCodes.Status206PartialContent // or // / Microsoft.AspNetCore.Http.StatusCodes.Status416RangeNotSatisfiable if // the range is not satisfiable). // / // // 参数: // fileContents: // The file contents. // // contentType: // The

C#处理Excel的帮助类

眉间皱痕 提交于 2020-04-22 14:03:35
目录 C#处理Excel 前言 OleDb帮助类 具体操作 NPOI帮助类 具体操作 前言 最近需要对Excel进行加密解密操作,本身是一个简单的事情,通过 OleDbConnection 可以很容易进行操作Excel,或者也可以用第三方dll如NPOI进行操作。 OleDb 用OleDb方法几乎和 SqlConnection 一模一样,基本上把前缀 Sql 改成 OleDb 即可,不过有几个小细节需要注意。 1. 我们可以把一个Excel当成一个数据源 2. 每个sheet可以看成一张表 3. 需要注意的是你在Excel看到的sheet名称后面需要加上 $ 才是真正的sheet名字。 具体操作 我在此简单封装了下,取名为OleDbHelper,代码如下: using System; using System.Collections.Generic; using System.Data; using System.Data.OleDb; namespace ExcelDataEncipher { class OleDbHelper { private readonly string _connstr; // 当前Sheet集合 public IEnumerable< string > SheetNames { get ; set ; } // 通过在外部传入数据源的名称来连接

WeihanLi.Npoi 1.7.0 更新

别来无恙 提交于 2020-04-22 02:48:54
WeihanLi.Npoi 1.7.0 更新介绍 Intro 昨天晚上发布了 WeihanLi.Npoi 1.7.0 版本,增加了 ColumnInputFormatter / ColumnOutputFormatter ,又进一步增强了导入导出的灵活性,来看下面的示例 ColumnInputFormatter/ColumnOutputFormatter 示例 Model: internal abstract class BaseEntity { public int PKID { get; set; } } internal class TestEntity : BaseEntity { public Guid SettingId { get; set; } public string SettingName { get; set; } public string DisplayName { get; set; } public string SettingValue { get; set; } public string CreatedBy { get; set; } = "liweihan"; public DateTime CreatedTime { get; set; } = DateTime.Now; public string UpdatedBy { get; set

.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