Excel种的数据类型研究【原创】【精】
因为要做一个项目,开始研究Excel种的数据类型。发现偌大的一个cnblogs竟然没人写这个,自己研究以后记录下来。
在我们通常的认识中,Excel中的数据类型有这么几种
1、常规;2、数值;3、货币;4、会计专用;5、日期;6、时间;
7、百分比;8、分数;9、科学技术;10、文本;11、特殊;12、自定义
同样在一个格子里边输入一个 6
如果设置成文本,它是个【左对齐】的【文本】6
如果设置成货币,它是个【右对齐】的【货币】¥6:00
而你双击这个¥6.00,进入编辑状态,它显示的还就是个数字 6,编辑完了再自动展示成¥7.00
这其中一定有着某个原因。
学过“面向对象“的朋友应该已经敏锐地感觉出来了,对于这个单元格有个属性,专门记录用户对这个单元格的设置。
我尝试寻找,做了个测试用的EXCEL,每一列分别设置了不同的数据类型。
然后将这个excel文件读进C#程序中,
调试时可以发现这个属性
这是对于【1、常规格式的读取】,后来将剩下的东西有也都整理了出来
1、常规:"G/通用格式"
2、数值:"0.00_"
3、货币:"¥#,##0.00;¥-#,##0.00"
4、会计专用:"_ ¥* #,##0.00_ ;_ ¥* -#,##0.00_ ;_ ¥* \"-\"??_ ;_ @_ "
5、日期:"yyyy/m/d"
6、时间:"[$-F400]h:mm:ss AM/PM"
7、百分比:"0.00%"
8、分数:"# ?/?"
9、科学技术:"0.00E+00"
10、文本:"@"
11、特殊:"000000"
12、自定义:"G/通用格式"
这是个啥?
我在设置的时候,都没有进行详细的设置,数值都是默认值,但我不能保证用户在写这个Excel表的时候不对它进行详细设置啊!
那么,这是个啥?-------------是正则表达式!
我在每种类型中设置两个值,再把其中的每个选项试一试,
就能搞清楚这种类型的格式中的正则表达式怎么写!
但是,我很懒,
决定采用特征值的办法,正则就不写了,万一写的不周全呢。
那么,特征值是啥样的
1、常规:"G/通用格式" -------------- =="G/通用格式"
2、数值:"0.00_" -------------- endWith("_")
3、货币:"¥#,##0.00;¥-#,##0.00" -------------- startWith("¥")
4、会计专用:"_ ¥* #,##0.00_ ;_ ¥* -#,##0.00_ ;_ ¥* \"-\"??_ ;_ @_ " -------------startWith(“_ ¥”)
5、日期:"yyyy/m/d"-----------不知道怎么弄
6、时间:"[$-F400]h:mm:ss AM/PM" -------------- endWith("AM/PM")
7、百分比:"0.00%" -------------- endWith("%")
8、分数:"# ?/?" -------------- StartWith("#")
9、科学记数:"0.00E+00" -------------- contains("G/通用格式")
10、文本:"@" -------------- ==“@”
11、特殊:"000000" -------------- ==“000000”
12、自定义:"G/通用格式" -------------- =="G/通用格式"
无奈之下,我把日期格式的子选项都选了一遍,做了这么个表
这个条件麻烦了 ( endWith(“@”)|| endWith(“yyyy”)||endWith(“/d”) )&&length>3
就这样凑合交差吧,以后(没有以后)再去把它丰富了,做成牛逼的正则表达式。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人