首页 文章

将libreoffice calc公式编写成csv

提问于
浏览
1

我有一个bash脚本,它将从原始日志文件中提取的一些数据写入csv格式的文件中 . 现在我想在此数据集上应用libreoffice calc公式 . 我的想法是直接从bash脚本在csv文件中编写“原始”计算公式(使用';'[分号]代替','[逗号]分隔数据以避免破坏公式) . 所以我有一个这样的脚本(例如):

#!/bin/bash
for (( i=1; i<=5; i++ ))
do
    echo "$i; $((i+1)); =SUM(A$i, B$i)" >> sum.csv
done

执行此脚本会给出 sum.csv 文件:

1; 2; =SUM(A1, B1)
2; 3; =SUM(A2, B2)
3; 4; =SUM(A3, B3)
4; 5; =SUM(A4, B4)
5; 6; =SUM(A5, B5)

当我用calc打开它时,它给出了预期的结果,每个值在单个单元格中分开 . 但问题是不评估公式 . 即使手动编辑单元格也不会触发评估 . 唯一有效的方法是复制没有'='的公式并手动写'=',然后粘贴公式 .

我尝试使用 INDIRECT() 但它没有帮助 .

有没有办法强制评估公式?或者是否有其他方法可以做我想要的事情(没有学习新语言......)?

1 回答

  • 2

    它应该在等号前删除前导空格后工作 . 第三个字段目前的内容为 =SUM(A1, B1) (注意前导空格) . 如果内容以 = 而不是 = 开头,LO将识别该公式:

    1;2;=SUM(A1, B1)
    2;3;=SUM(A2, B2)
    3;4;=SUM(A3, B3)
    4;5;=SUM(A4, B4)
    5;6;=SUM(A5, B5)
    

相关问题