最简单的方法就是简单地把字体改成一个内置可见字形的字体,用于空格(或任何其他你可能需要识别的字符)
不幸的是,我没有任何好的例子提供给你这样的字体,但使用任何字体编辑软件,在现有字体上添加一个小圆点是非常容易的。只要别忘了重命名字体(不是字体文件,而是字体文件里面的字体NAME),这样,如果你同时安装了这两种字体,就很容易把这个自定义字体和原来的字体区分开来。
编辑我终于找到时间做了这样一个字体 ! 这就是DottedSpace Mono,基于Bitstream Vera Sans Mono,但内置了点状空间: http://github.com/tanusoft/DottedSpaceMono 。
CTRL+H 用 ~ 替换所有的空格,这将有助于在没有编程的情况下快速处理空格,反过来只需用 “ "替换 ~。
我发现比较这些类型的文件,其中文本不显示的最佳程序是Ultra Edit。不得不用它来比较EDI文件,接口文件,技术上传等。MS Office不能很好地胜任这项任务。
虽然您不能直接在单元格中显示特殊字符,但您可以在相邻(插入的)列中使用公式,用您选择的字符替换 “Enters "和 "Spaces"。
E.g.
=SUBSTITUTE(A1;" ";" ¶ ")
将用换行符的字符号替换任何换行符。而嵌套公式
=SUBSTITUTE(SUBSTITUTE(A1;" ";" ¶ ");" ";"\_")
将同时替换空格和回车。(注意:为了在公式中输入 "回车",你需要在编辑公式时按Alt+Enter
。
1 使用find并输入空格
2 执行Replace All并输入"[s-p-a-c-e]“
3 可选:如果你也想把整个单元格用红色高亮显示,只需使用该
结果旁边的格式选择器。那些烦人的空格会超清晰地显现出来
为什么我需要这样做: 我使用COUNTA函数来查找一列中的非空白单元格。然而它返回的数字比我预期的要大。我逐一调试了每个单元格,令我惊讶的是,一些明显是空白的单元格显示COUNTA=0,而另一些则显示COUNTA=1,这毫无意义。我看不出两者之间有什么不同。原来在该函数中,单个剩余的空白也算,但在单元格和顶部的输入框中都看不到anywhere。
结论。如果你依靠COUNTA来完成重要的任务 你最好确定它没有计算那些你可能不知道的麻烦的空格。
我平时不需要VBA,所以我更喜欢用python+openpyxl
from docx import Document #word docx py library
import openpyxl #excel py library
from openpyxl.styles import Color, PatternFill, Font, Border
from openpyxl.styles import colors
from openpyxl.cell import Cell
import re #regular expressions
import os #work with system
wb = openpyxl.load_workbook('test.xlsx') #open needed document
redFill = PatternFill(start_color='FFFF0000',
end_color='FFFF0000',
fill_type='solid') #function to fill bad cells red
n = 0
print (wb.sheetnames) #print all sheetnames to ensure theres no hidden
for sheet in wb.worksheets: #cycle through sheets in excel file
# get max row count
max_row=sheet.max_row
# get max column count
max_column=sheet.max_column
for i in range(1,max_row+1):
# iterate over all columns
for j in range(1,max_column+1): #cycle through all rows and columns
# get particular cell value
cell_obj=sheet.cell(row=i,column=j)
s = re.search('[^-*+()!№;%:?@#$%^&;:_=/\a-zA-Z0-9\ а-яА-Я°做excel的东西。\".,,.«»<>ёЁ]', str(cell_obj.value)) #find bad symbols with regular expression
#^ find not normal characters
#s = re.search('[\n]', str(cell_obj.value)) find line end
if s:
print(n, " ", i, " ", j) #sheet, row, col
#print("^", s, "^") print bad symbol
#sheet.cell(row=i,column=j).fill = redFill
#color current cell wth spec chars red
print(n)
n+=1
wb.save("test.xlsx") #save redacted book
```做excel的东西。