每当我在 LibreOffice 中输入数据时,无论是日期还是数字,LO 都会将其格式化,而不是将其保留为文本。这让我非常恼火,因为我希望输入的文本保持精确的格式。
到目前为止我已经尝试过:
右键单击并将格式设置为“文本” - 非常烦人
在单元格开头使用
'
- 可行,但仍然不是最好的解决方案取消选中以下所有内容
Tools -> AutoCorrect Options
我浏览了所有菜单、首选项和自定义选项,但找不到禁用 LO calc 提供的每个自动格式化功能的选项。数字、货币、日期、时间、URL、文本对齐……
无论我进入哪个牢房,都会保持原样,除非我另有明确说明。
答案1
您无法完全禁用它,但有一些解决方法。我自己最喜欢下面的方法,这是 Excel 的示例(LibreOffice 的工作方式几乎相同):
更改当前工作表的默认格式
- 选择所有单元格 (Ctrl+A)
- 将文本格式设置为所有单元格(通过屏幕截图中所示的功能区或通过右键单击/上下文菜单等)
(请注意:在屏幕截图中我没有选择所有单元格,只选择了 B 列)
替代解决方案:使用宏:
Private Sub Workbook_Open()
Dim sh As Worksheet
For Each sh In Me.Sheets
sh.Cells.NumberFormat = "@"
Next
End Sub
替代解决方案:更改所有工作表的默认格式
- 选择所有工作表标签(右键单击工作表标签 -> 选择所有工作表选项)
- 单击其中一个工作表的最左上角。
- 应用文本格式
设置为所有新 Excel 文件的默认值
- 将工作簿另存为 Excel 模板
- “保存模板”对话框将提供“设置为默认模板”选项,请勾选(如果没有此选项,请将其保存在 XLStart 文件夹中,并命名为 Book.xltx)
- 注意:即使新工作簿中的工作表将使用文本,其他(新)工作表也可能再次使用通用格式,因此您必须在新工作表上使用上述宏或手动执行
答案2
我在 Calc 中苦苦挣扎。我从网页上复制了一个表格并将其粘贴到 Calc 中,单元格中类似日期的内容被转换为日期,由于 Calc 先将这些数据转换为数字,然后再将其格式化为日期,因此原始信息丢失了 - 因此,将单元格格式设置为“文本”会产生该数字的文本版本 - 这不是我需要的!当我说“所有信息都丢失了”时,这并不完全正确。它仍然存在于日期中。它只需要被修剪掉并重新格式化。
示例:网页上的几列具有以下格式:n/m,例如 1/1、2/4、3/3 等。Calc 会将它们分别转换为 01/01/23、02/04/23、03/03/23。例如 0n/0m/23。
为了解决这个问题,我向 ChatGPT 寻求帮助,并得到了以下公式,我用它来解决这个问题:
在表格下方的空单元格中输入以下公式,并根据需要调整单元格引用:
=MONTH(A1) & "/" & DAY(A1)
例如,它可能会变成:
=MONTH($F2) & "/" & DAY($F2)
拖动填充柄(所选单元格右下角的小方块)将公式复制到下面的空单元格中。此操作会自动将公式填充到相应的单元格中,并根据 Calc 规则自动调整单元格引用。
突出显示并“剪切”(复制并删除)所有这些单元格(整个列)。
返回表格并单击要修复的列的顶部单元格。
使用快捷键 <Ctrl><Shift><V>(或 macOS/Linux 中的等效快捷键)仅粘贴值。在弹出窗口中,选择“仅值”,如果出现提示,则选择“是”确认。
瞧!现在所有单元格都应显示正确的值。最后,使用 <Ctrl><-> 快捷键修剪超出表格下方的所有单元格。
我意识到这只不过是一个笨拙的解决方法,但是在没有其他办法的情况下......