yokila
yokila
Published on 2023-06-27 / 8 Visits
0
0

Excel获取单元格格式化后的数据

零、概述

上一篇文章Excel单元格格式&指定范围大批量数据填充介绍了如何进行单元格格式化的内容。(如果没有单元格格式化的基础,则可以去看看)

那么,如果你有实际去观察就会发现,虽然显示出来的数据,确实就是我们所期待的那样,但是,它们只具备展示效果,实际的值还是我们设置的单元格的原始数据值

例如上一篇的例子中。A1单元格虽然显示的是A12BC00001,但是当你进行复制时会附带单元格格式一起复制过去,或者读取时,获得的都是1,也就是原始数据值

那么,怎么把这些我们好不容易生成出来的显示出来的数据值,、变成原始数据值呢?

0.1 前端sheetJS读取示例

很神奇的是,读取的时候,第一行作为key可以获取到格式化后的值,但是第二行开始作为value,就只能获取到原始数据值。(或许有什么解决办法?此处有待后续进一步探索)

这里提供了两种方式(测试基于版本:Excel 2021、Excel2016):

  • 生成文件的方式。

  • 直接在原文件上操作的方式。

请自行抉择哪种更为适用。

一、方式一

首先,假设我有一个充分利用单元格格式化后的excel表格(图中所有数据都是经过格式化后的)。

例如:

这里每个单元格都经过了格式化

现在,点击左上角的文件

点击另存为,然后点击浏览(这里也可以改成使用导出

选择一个文件夹来存放即将生成的csv文件,注意以csv的格式导出

此时你会发现,csv文件中的数据,就是格式化后的

此时,如果你还是想要一个xls或者xlsx的文件

那么,可以使用excel打开这个csv文件,然后以刚刚一样的方式,将csv文件另存为一个xlsx文件,此时xlsx文件的内容也是格式化后的数据

注意:如果打开csv文件时,出现日期显示成###情况,只需要改一下单元格宽度就行

拖动放大单元格宽度,就好了

把csv文件另存为xlsx文件(此处使用导出也是ok的):

点击左上角的文件

点击另存为,然后点击浏览

选择一个文件夹来存放即将生成的xlsx文件,注意以xlsx的格式导出

此时你会发现,xlsx文件中的数据,就是格式化后的(和csv里的一样)

二、方式二

点击打开剪切板

此时会弹出剪切板窗口

选中要进行转换的显示出来的数据值(如果要按列选,就点击列名进行按列选中)

Ctrl+C组合键 (或者右键 -> 复制)将选中的数据进行复制

此时你会看到,剪切板上显示出来了你刚刚复制的内容

注:如果你要处理的数据量很大(比如十万条数据),那么就得看你电脑性能了,有可能会卡住。

如果你复制错了,没关系,这里可以进行删除

那么,现在,假设你已经完美复制了你要进行转换的数据。

请选择一个空白的区域,这个区域将用于填充你所需要的转换后的值(注意:这块空白区域的单元格数量要等同于你复制的数据的量)。

比如我就直接在旁边选了一块区域准备用来赋值。

点击“全部粘贴”,则你要的数据就粘贴到了这片选中的空白区域。

转换完毕!

现在,新的这些数据,展示值就是原数据原数据就是展示值

如果旧的数据已经不需要了,可以直接删掉。

如图:


Comment