导论

最近在用程序读写excel文件,碰到了一些excel单元格的数据类型的相关问题。总结了几个小技巧。对于用程序操作excel,或者需要用excel函数的朋友会有一些助益。

Excel的数据类型

Excel,在逻辑上分为这样几层关系:
book–就是整个excel文件。
sheet–工作表。一个excel文件至少有一个工作表,可能有多个工作表。sheet在excel界面上的一个个TAB。
row–行
column–列
cell–单元格

每个格子就是一个单元格。每个单元格中的数据都有其数据类型。在Excel中可以用TYPE函数获取数据类型。
如果 value 为 函数 TYPE 返回
数字 1
文本 2
逻辑值 4
误差值 16
数组 64

对excel公式执行type函数,返回8。因此推测类型8可能指的是公式。

不考虑误差、错误和数组这些类型,excel有如下这些常用类型:
数值
文本
布尔
日期
实际上,可以认为,excel单元格的数据类型,就是数值类型文本类型两种。
因为,布尔类型,实际上会转为整数0和1来表示。
日期类型,实际上存储为整数类型。1900-01-01是第一天。日期存储的是自1900-01-01那天后的第几天。
日期类型,可以用文本形式给出,但实际上会自动转换为日期类型,用整数存储。

判断Excel单元格的数据类型的方法

Excel软件版本较多,而且还存在大量第三方软件。如我在Linux下常用openoffice打开Excel文件。要找到一个在所有兼容Excel的软件下正确判断Excel单元格的数据类型的方法是比较困难的。
经过摸索,我发现了一种通用的判断Excel单元格中的数据类型的方法。至少我还没有发现这种方法在哪种Excel兼容软件中不可用。

1,选中要查看的单元格,选择【开始】-【清除】,下拉选择【清除格式】。
2,然后,查看 当前的单元格中的数字是左对齐还是右对齐,如果是左对齐,那么就是文本格式储存的,如果是右对齐,那么则是以数字格式存储的。

正确判断Excel单元格的数据类型是非常重要的。很多Excel函数会挑单元格的数据类型。不经意间,你的excel公式的计算结果可能就是错的。

如Excel的SUM函数,不会统计数据类型是文本的单元格的数据。这样得到的错误结果可能会导致严重的经济损失。

数字存储为文本

默认,我们在单元格中录入能够转为数字的字符串,Excel兼容软件就会把它存为。
在数字前加半角的’(单引号),即可换成文本,但如果需要转换的数字较多,则这种办法较麻烦。
在程序中读取excel的数据时,不会把这个‘单引号读取出来。

文本存储为数字

1,新建一个1的数值类型单元格。
2,选中它。
3,再选中需要转为数字的一组单元格。
4,右键”选择性粘贴“。选择乘,确定后目标单元格就会变成数字。

如果是用上一节前面加上’变成的文本,则这招可能不管用。需要把文本前面的‘去掉。

总结

Excel编程中,单元格的数据类型是非常关键的。本文给出了几种查看和转换Excel单元格数据类型的通用方法。

注意

有很多种方法可以对Excel文件进行程序操作。如微软自己的.net类库和其他语言提供的第三方的类库。
建议不要使用微软自己的.net类库。因为,微软自己用来操作Excel的.net类库,是COM组件。不同版本的Excel软件都是不同的。如果最终用户安装的Excel软件版本和程序员开发时的Excel版本不同,那么就会发生找不到COM组件的错误。影响程序的可用性。
因此,我建议程序员使用第三方跨平台的Excel操作类库或者函数库。避免微软官方Excel类库的DLL地狱!

参考资料

1,Excel官方帮助文档:
https://support.office.com/zh-cn/excel
2,Excel函数大全:
https://support.office.com/zh-cn/article/Excel-%E5%87%BD%E6%95%B0%EF%BC%88%E6%8C%89%E7%B1%BB%E5%88%AB%E5%88%97%E5%87%BA%EF%BC%89-5f91f4e9-7b42-46d2-9bd1-63f26a86c0eb?ui=zh-CN&rs=zh-CN&ad=CN

Excel的数据类型转换方法相关推荐

  1. python数据类型转换方法列表

    阿里云大学人工智能学前小测验-Python测试 5.关于数据类型转换方法,错误的是 A. int(x) 将x转换为一个整数 B. float(x) 将x转换为一个浮点数 C. string(x) 将x ...

  2. php数据类型转换分为哪两种,PHP数据类型转换方法有哪些

    PHP数据类型转换方法有哪些 发布时间:2020-07-15 15:35:19 来源:亿速云 阅读:77 作者:Leah PHP数据类型转换方法有哪些?针对这个问题,这篇文章详细介绍了相对应的分析和解 ...

  3. SQL Server数据类型转换方法

    SQL Server数据类型转换方法及加法运算符问题 一.数据类型转换 1.CONVERT: CONVERT(data_type[(length)], expression [, style]) 注: ...

  4. excel 公式 单引号 concat_从Excel的数据类型说Python

    转自:可乐的数据分析之路 写在前面 这节内容是python基础知识中的数据类型和运算符,可以回顾一下前两篇文章来复习一下:利用Excel学习Python:变量利用Excel学习Python:准备篇 本 ...

  5. asp.net excel导入 wps_4种Excel格式的转换方法,总有一种适合你!赶紧试试看

    相信大家平时肯定会遇到Excel格式转换的问题,但是下面这些你用吗?接下来就带各位一起看看吧! 一.电脑端 1.office转换方法 首先是电脑端的转换方法,我们可以使用office自带的转换功能,只 ...

  6. 导入Excel时数据类型处理工具类

    在处理导入Excel功能时,取Excel中的值时需要严格按照Excel中的数据类型来取数据;因此对于此功能编写的一个功能类如下: /*** 解析Excel文件公共类 * @author zhh* @d ...

  7. php连接excel表格数据类型,PHP 高性能 Excel 扩展 1.2.8 发布,文件读取数据类型可控!...

    为什么使用 xlswriter xlswriter 是一个 PHP C 扩展,可用于在 Excel 2007+ XLSX 文件中读取数据,插入多个工作表,写入文本.数字.公式.日期.图表.图片和超链接 ...

  8. office excel单列数据类型不一致,导入时部分数据为空

    这个小问题,遇上两三回都无法无效解决.这次终于找到解决方法: [以下内容从网络转载] 现象:excel导入SQL时发现有部分数据导入后变成空值,查了很多资料,发现SQL数据库在导入时会检查EXCEL列 ...

  9. php连接excel表格数据类型,TP5 中使用PHPExcel 导出导入数据到excel表格

    将下载好的PHPExcel文件夹放置在框架中的Vendor目录下,注意目录的结构,按照我的代码来基本上直接引用就能使用,如下图: 导出数据代码如下 //导出数据表 开始 public function ...

最新文章

  1. 还在用分页?太Low !试试 MyBatis 流式查询,真心强大!
  2. gossip 区块链_比特币奇葩8问:为何区块620826比区块620825早1秒诞生?
  3. 数据结构与算法试题集锦
  4. ASP.NET 开发知识小结
  5. ngrx中的memoized函数
  6. LeetCode 1833. 雪糕的最大数量(贪心)
  7. windows7系统屏幕一直闪屏的解决教程
  8. 步步深入MySQL:架构-gt;查询执行流程-gt;SQL解析顺序!
  9. 虚拟机安装windows服务出现无法打开内核设备“\\.Global\vmx86”
  10. java多线程入门1
  11. 微信支付服务器验证的java_Java中的微信支付(3):API V3对微信服务器响应进行签名验证...
  12. 回溯 Rust 2020:正在成为最受欢迎的编程语言
  13. 不,你根本不需要ML/AI,有SQL就够了
  14. yolov 论文发表在什么期刊上_论文发表期刊发表论文研究方法
  15. python输出一行10个_python 如何将一系列数字十个一行输出【】
  16. 视频教程-EXCEL VBA编程进阶-Office/WPS
  17. mina框架详解-小白收藏
  18. html如何让相邻的部分边框消失,css border属性边框一半或者部分可见
  19. 设备日常检查(巡检)
  20. 如何创建表以及设计表需要注意什么,oracle五种限制

热门文章

  1. OJ1015: 二次方程的实根
  2. 伪代码模拟TranslateMessage内部实现
  3. 各大互联网公司java开发面试常问问题
  4. bat文件修改CMD窗口标题
  5. 计算机硬件的使用知识,计算机硬件基础知识及使用方法简介.doc
  6. QVGA/HVGA/WVGA/FWVGA分辨率屏含义及大小//Android虚拟机分辨率
  7. echarts 配置大全
  8. mysql if查询语句_MySQL if判断语句以及条件查询语句
  9. PPT导出为高分辨率图片
  10. 魔百盒九联UNT402A_S905L3_线刷固件包_语音蓝牙正常