在 LibreOffice Calc 中禁用自动格式化

在 LibreOffice Calc 中禁用自动格式化

每当我在 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 寻求帮助,并得到了以下公式,我用它来解决这个问题:

  1. 在表格下方的空单元格中输入以下公式,并根据需要调整单元格引用:

    =MONTH(A1) & "/" & DAY(A1)
    

    例如,它可能会变成:

    =MONTH($F2) & "/" & DAY($F2)
    
  2. 拖动填充柄(所选单元格右下角的小方块)将公式复制到下面的空单元格中。此操作会自动将公式填充到相应的单元格中,并根据 Calc 规则自动调整单元格引用。

  3. 突出显示并“剪切”(复制并删除)所有这些单元格(整个列)。

  4. 返回表格并单击要修复的列的顶部单元格。

  5. 使用快捷键 <Ctrl><Shift><V>(或 macOS/Linux 中的等效快捷键)仅粘贴值。在弹出窗口中,选择“仅值”,如果出现提示,则选择“是”确认。

瞧!现在所有单元格都应显示正确的值。最后,使用 <Ctrl><-> 快捷键修剪超出表格下方的所有单元格。

我意识到这只不过是一个笨拙的解决方法,但是在没有其他办法的情况下......

相关内容