【问题标题】:read data from multiple spreadsheets into database将多个电子表格中的数据读入数据库
【发布时间】:2018-05-12 02:04:23
【问题描述】:

我有一个完整的 openoffice calc 文件目录,基本上都是完全相同模板的填写版本。

现在我想获取每个文件的几个单元格的数据并将它们放入 mysql 数据库中。

是否可以使用 OpenOffice Calc 本身来做到这一点?

由于这是一项一次性的工作,它变得多么混乱并不重要,我希望尽可能少地浪费时间编写代码。

我现在准备使用的唯一脚本语言是 php,我可以使用 xml 阅读器类使用 php 来完成它,但我以前从未这样做过,我不想把时间浪费在无休止的调试上,所以我想我会先向你们请教更好的想法。

提前谢谢你

【问题讨论】:

    标签: openoffice-calc


    【解决方案1】:

    创建一个 LibreOffice Base 文件以连接到 mysql。然后在LibreOffice BasicPython-UNO 中编写一个宏。

    1. Open each file in Calc
    2. Read the cells
    3. Do an SQL call 插入数据。

    您也许可以在没有宏代码的情况下完成其中一些事情。例如,如果您可以将所有数据放入一个电子表格中,然后将数据拖到 Base 窗口的 Tables 区域,这会将数据插入到 mysql 中。

    确实可以使用 PHP 解压缩 ODS 文件并解析 XML 中的值,但这听起来需要更多的代码和精力来开发。

    【讨论】:

      【解决方案2】:

      以防万一有人关心,这就是我最终的做法,不需要编写脚本:

      1. 对文件夹中的文件执行 Strg + A 和 Strg + C 以复制所有文件路径
      2. 粘贴到新电子表格的第一列
      3. 使用 find&replace 将列中的所有 .ods 文件结尾替换为唯一的占位符
      4. 将文件列表粘贴到下一列并重复 3。
      5. 对所有列重复
      6. 执行查找和替换以将“\”替换为“/”
      7. 将所有占位符替换为“.ods'#Table1.A1”,其中 A1 代表您要从中获取数据的单元格
      8. 将“C:/”替换为“='file:///C:/”这可能需要几秒钟来处理
      9. 使用特殊粘贴 (Strg+Shift+V) 将所有内容复制到新文件,以便仅粘贴值
      10. 将 .ods 导入 phpmyadmin

      【讨论】:

      • 这听起来比我建议的要好。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多