首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C#实战:解决NPOI读取Excel单元格数值0.00001显示为1E-05的问题

问题复现Excel操作:在单元格中输入0.00001并保存C#读取代码:using NPOI.SS.UserModel;using NPOI.XSSF.UserModel;// 读取Excel文件using...当单元格输入极小数值(如0.00001)时,Excel会同时记录两个关键信息:原始数值:以64位浮点数形式存储的精确值(实际为0.00001000000000000000020816681711721685132943093776702880859375...NPOI的默认读取行为直接数值解析:NPOI的NumericCellValue属性会直接读取单元格的原始浮点数值,返回C#的double类型。...C#的格式化规则:当double类型的数值过小(如1e-5)时,C#的ToString()方法会自动应用科学计数法格式化。3....、货币、百分比等复杂格式无需提前知道单元格格式方法二:修改Excel模板格式操作步骤:右键目标单元格 -> 设置单元格格式 -> 自定义输入格式代码:0.00000(根据需求调整小数位数)保存模板后,NPOI

18620

NPOI操作Excel(一)--NPOI基础

用C#读取Excel的方法有很多中,由于近期工作需要,需要解析的Excel含有合并单元格以及背景色等特殊要求,故在网上查了一些关于读Excel的方法的优缺点,觉得NPOI能满足我的需要,所以搜索了一些资料做了一些测试...我们先说了解一下NPOI的优缺点: 优点:读取数据快,读取方式灵活,包含多个sheet的Excel单元格合并设置单元格字段、颜色、设置单元格为下拉框,并限制输入值,设置单元格只能输入数据等(...Microsoft Drawing格式读写库 NPOI.SS Excel 2003和Excel 2007操作库共用的接口库以及公用模块实现,如公式计算库 NPOI.HPSF...3、NPOI.OOXML.DLL中包含的模块(主要是2007版本操作方法) NPOI.XSSF Excel 2007操作库,大部分对象都实现了NPOI.SS的接口 NPOI.XWPF...Word 2007操作库 4、EXCEL单元格值基本类型 Unknown = -1, // 未知 Numeric = 0, // 数值型 String = 1, // 文本型 Formula

2.7K21
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    C# 使用 NPOI 库读写 Excel 文件

    请访问我的个人网站获取这篇文章的最新内容,C# 中 NPOI 库读写 Excel 文件的方法 NPOI 是开源的 POI 项目的.NET版,可以用来读写Excel,Word,PPT文件。...catch (Exception e) { //只在Debug模式下才输出 Console.WriteLine(e.Message); } } Excel中的单元格是有不同数据格式的...CellType中没有Date,而日期类型的数据类型是Numeric,其实日期的数据在Excel中也是以数字的形式存储。...,如果要合并的单元格中都有数据,只会保留左上角的 //CellRangeAddress(0, 2, 0, 0),合并0-2行,0-0列的单元格 CellRangeAddress region...默认就是true,因此sheet.ProtectSheet("password")一定要执行,才能实现锁定单元格,对于不想锁定的单元格,就一定要设置cell的CellStyle中的IsLocked =

    9.2K42

    Word自动化(C# + Python)(持续更新中...)

    总之, 这里通过使用一些库, Python的python-docx, C#的pdfbox和npoi, 来让对Word和PDF的处理变得更加自动化一些....这里可以用C#的NPOI和python-docx实现. ----- NPOI NPOI安装 来看下维基的介绍....虽然之前写Unity游戏的时候用过一些C#, 但是这次是我第一次从软件开发的角度使用C#, 不得不说, NuGet令我印象深刻, 很好用....] ----- NPOI提取Word内容 其实NPOI非常强大, 足以用来做和Word有关的一切了, 但是, 这里只演示一下提取Word中的内容, 因为后面有python-docx这样更加轻巧的库, 不需要...然后你会发现, 合并之后, 把两份内容都保留了, 如果这是你需要的, 自然没有问题. 但是如果不是, 你就要思考内容合并的策略, 你不可能一个一个设置.

    2K00

    .net core下对于Excel的一些操作及使用

    对于后台相关的管理系统,Excel导出是基本的功能,下面就简单说下实现该功能的代码实现吧 EPPlus与NPOI的选择 相对于大名鼎鼎的NPOI来说,EPPlus的API更加友好,导出数据的能力也比NPOI...更强大点,但在操作Excel的功能上还是NPOI强一点,如果你想导出比较复杂的Excel的话可以使用NPOI,但对于常规需求的话EPPlus基本满足了。...网上也有些两者对比的文章,可以参考下,比如[C# NPOI导出Excel和EPPlus导出Excel比较] NPOI和EPPlus均已支持 .net core,看不同需求自行选择,这里主要讲下EPPlus...单元格赋值很简单,指定对应的单元格就可以直接赋值,价格遍历循环就可以进行批量的操作了 worksheet.Cells[1, 1].Value = "测试";//直接指定行列数进行赋值 worksheet.Cells...#0.00";//这是保留两位小数 设置sheet背景 worksheet.View.ShowGridLines = false;//去掉sheet的网格线 worksheet.Cells.Style.Fill.PatternType

    1.7K20

    Word自动化(C# + Python)(持续更新中...)

    总之, 这里通过使用一些库, Python的python-docx, C#的pdfbox和npoi, 来让对Word和PDF的处理变得更加自动化一些。...这里可以用C#的NPOI和python-docx实现....NPOI提取Word内容 其实NPOI非常强大, 足以用来做和Word有关的一切了, 但是, 这里只演示一下提取Word中的内容, 因为后面有python-docx这样更加轻巧的库, 不需要vs不需要...单元格合并 比如我现在建立一张表,尝试合并。然后你会发现,合并之后,把两份内容都保留了,如果这是你需要的,自然没有问题。 但是如果不是,你就要思考内容合并的策略,你不可能一个一个设置。...一个比较合理的策略就是用临时变量保留你要的内容,合并完成之后,将临时变量内容覆盖合并后的内容。 ?

    2.6K30

    .NET 开箱即用的Excel工具包已发布

    前言 应用系统开发中少不了跟Excel打交道,基于NPOI开发了ExcelPatternTool,与目前主流框架对比ExcelPatternTool着重单元格样式的控制,对于初始数据导入、报表导出等简单的...功能 可设置列属性,包括样式,公式,注解; 可配置规则独立设置单元格样式; 可配置规则对Excel校验,包括数值校验和公式校验,内置Lambda表达式和正则表达式两个预设的校验器; 可扩展的接口封装和组件...使用说明 编辑你的C#类,此类将作为ExcelPatternTool导入导出功能的承载实体类型,继承自IExcelEntity 常规类型 常规类型是C#基本数据类型,直接输出的为单元格值 可定义 string..., DateTime,int,double,bool 高级类型 使用高级类型导入时不光读取数据,还将读取单元格细节,导出至Excel时,将保留这些细节。...,等效于ExcelEntity无此属性 4、Format 指定单元格格式,格式约定请参考Excel 自定义单元格格式 5、Type: 单元格类型, Exportable中可指定Type类型的为 值 含义

    41530

    .NET Core使用NPOI导出复杂,美观的Excel详解

    作为一个喜欢编写简洁代码的我而言肯定是受不了的,于是乎提起袖子说干就干,我自己根据网上的一些资料自己封装了一个通用的NPOI导出Excel帮助类,主要包括行列创建,行内单元格常用样式封装(如:字体样式,...字体颜色,字体大小,单元格背景颜色,单元格边框,单元格内容对齐方式等常用属性),希望在以后的开发中能够使用到,并且也希望能够帮助到更多有需要的同学。...搜索:NPOI进行安装: ? 二、导出Excel文档内容展示格式如下如所示: ?...我们可以清楚的知道无论是字体颜色,表格边框颜色,还是单元格背景颜色我们都需要用到HSSFColor对象中的颜色属性索引(该索引的字符类型为short类型)。...导出复杂Word详解: https://www.cnblogs.com/Can-daydayup/p/11588531.html .NET Core使用NPOI将Excel中的数据批量导出到MySQL

    3.9K10

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

    但此示例共享变量值收益很低,但会极大地增加代码复杂性(普通用户可能很难写出),因此本示例未使用SharedStringTable; 它基于单元格位置标识,如B3(第三行第二列),因此索引方式比EPPlus...总结 四种导出Excel库的横向评测数据如下,数据取5次数值的内存消耗中位数 ,百分比以EPPlus的测试数据为100%基准: 次数 分配内存 内存占比 耗时‍ 耗时占比 基准(仅反射) 9,853,936...但事情也不都如此,如 更高层的React.js能在性能上将较底层的DOM操作比下去 数据库基于集合的操作也比基于游标的操作要快得多 在导出Excel这个例子中,我了解到Excel的xlsx格式是非常复杂的...Aspose.Cells创建Excel时要求客户直接使用Workbook类(NPOI也是); Aspose.Cells完全隐藏了Excel的位置(如B3)信息,下标从0开始(NPOI也是) 比较这几点,...更别提这次评测发现EPPlus的性能确实不错,唯一的缺点就是它单元格下标从1开始的设计。即便如此,我还是首选推荐EPPlus。

    5K10

    csharp代码每日一例:使用NPOI DLL 将Datatable数据导出为Excel文件

    NPOI介绍: NPOI作为国人开发的开源项目,文档完善,更新及时,为.NET开发者提供了便利,主要用于生成Excel报表,搜索引擎模块中Excel中的文本提取,批量生成Excel文件,基于Excel...使用NPOI生成Excel 在本文中,我们将学习如何在c#中使用NPOI将DataTable数据导出或转换成Excel文件。首先,我们需要安装像NPOI和Newtonsoft这样的软件包。...安装完这些包后,我们需要添加一些名称空间来访问NPOI类,以及将JSON转换为List的Newtonsoft。...在添加所有包和名称空间之后,然后创建一个类,用于将JSON转换为List,然后设置列的名称,并设置一个for循环,用于获取和设置数据到Excel计算单元中。请参阅下面的完整步骤以生成Excel文件。...,用于访问生成并保存在特定路径中的Excel类和方法。

    2.9K20

    Excel催化剂开源第16波-VSTO开发之脱离传统COM交互以提升性能

    在VSTO开发或其他COM技术开发过程中,甚至VBA也是,在和Excel交互中,难免会遇到性能瓶颈问题,COM技术的交互实在太慢,对大量数据读写等操作,耗时太长,容易卡用户界面以为是程序死机等等。...在专业程序猿开发群体,极少直接用COM的方式来访问Excel文件,都是以其他的非COM如最为流行的NPOI和EPPLUS类库的方式访问,并且是免费的可用于商业项目的。...在VSTO中调用NPOI和EPPLUS,又是怎样一翻境界呢?...遍历单元格属性 同样的,若不是仅仅获取单元格上的数据,而是需要获取单元格的其他属性如字体颜色、填充颜色、字号、字体名称、样式等信息时,用COM访问的方式,也是有十分大的性能瓶颈问题。...在Excel单元格管理相关功能上,大量使用了EPPLUS类库作这些的遍历访问,性能十分优秀。

    1K30

    Python+Excel数据分析实战:军事体能考核成绩评定(一)项目概况

    缺点:Pandas在数据处理上是非常方便的,但在文档外操作,如批量修改工作簿名称,就需要引入os库;同时如果已有Excel文档是带格式(颜色填充、字体设置、单元格合并等),写入Excel的时候就会破坏掉原来的格式...(三)Python : Openpyxl openpyxl是一个用于读取/写入Excel2007及以上版本(即xlsx格式)文件的Python库,不论是Excel内的特殊格式,还是单元格处理,都提供了相应的函数...其他 其他的还有C#的EPPlus/NPOI,Java的POI,easyExcel;JavaScript的exceljs等,也是不错的Excel操作库,但学习曲线更为陡峭,应用场景也更为复杂。...每个人的体能测试有单杠、仰卧起坐、30米x2蛇形跑、3000米跑四个项目,外加体型是否合格(BMI身体质量指数或者PBF体脂百分比),每项原始测试数据,通过不同项目各自规定的标准转换成100分制的分数,...[高原男子3000米标准] 其它的考核项目标准相对简单一点,在后面的文章中具体分析。

    2.3K10

    .NET NPOI导出时间、公式等格式化

    1、业务背景 做导入某业务模块的Excel表格文件时,利用NPOI组件导入, ① 导入的日期错乱(如XX-X月-2022),关于此种情况之前没做格式化做了单独处理,可以查看文章.net NPOI Excel...导入:时间格式2022/5/26导入变成26-5月-2022,做了格式化就快捷方便多了 ② Excel表中某列通过公式计算好的列导入后获取到的是公式(如D1*E1),不是具体的值, 此时就需要在工作表生成...DataTable之前做格式化处理操作,下面直接上代码 2、解决方案 1)写一个判断单元格列类型格式化的公共方法 /// /// 判断单元格列的类型 /// /...headerRowIndex + 1); i <= sheet.LastRowNum; i++) { IRow row = sheet.GetRow(i); //如果遇到某行的第一个单元格的值为空...,当然上面的格式化方法也只是列出了部分类型,还有很多类型欢迎补充,以此本文简单快速的解决了关于NPOI导入的格式化问题。

    26010

    Python+Excel数据分析实战:军事体能考核成绩评定(一)项目概况

    缺点:Pandas在数据处理上是非常方便的,但在文档外操作,如批量修改工作簿名称,就需要引入os库;同时如果已有Excel文档是带格式(颜色填充、字体设置、单元格合并等),写入Excel的时候就会破坏掉原来的格式...(三)Python : Openpyxl openpyxl是一个用于读取/写入Excel2007及以上版本(即xlsx格式)文件的Python库,不论是Excel内的特殊格式,还是单元格处理,都提供了相应的函数...(四)Python : Xlwings xlwings也是Python操作Excel的第三方库,很大程度上就是补全Pandas的缺点,可以在方便的处理文档本身,如修改工作表名称,将Pandas的数据处理结果调用到...其他 其他的还有C#的EPPlus/NPOI,Java的POI,easyExcel;JavaScript的exceljs等,也是不错的Excel操作库,但学习曲线更为陡峭,应用场景也更为复杂。...每个人的体能测试有单杠、仰卧起坐、30米x2蛇形跑、3000米跑四个项目,外加体型是否合格(BMI身体质量指数或者PBF体脂百分比),每项原始测试数据,通过不同项目各自规定的标准转换成100分制的分数,

    2.1K10
    领券