您的位置 首页 java

Excel的数据类型转换方法

导论

最近在用程序读写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官方帮助文档:

2,Excel函数大全:

文章来源:智云一二三科技

文章标题:Excel的数据类型转换方法

文章地址:https://www.zhihuclub.com/179301.shtml

关于作者: 智云科技

热门文章

网站地图