【问题标题】:Convert .csv file to .xls using Google AppScript使用 Google AppS 脚本将 .csv 文件转换为 .xls
【发布时间】:2018-11-14 09:22:45
【问题描述】:

我有一个用例,我必须获取 BigQuery 结果并将其存储在 excel 文件中。由于默认情况下 BigQuery 没有任何此类规定,因此我正在考虑以 CSV 格式导出查询结果,然后使用 Google AppScript 将其转换为 excel 格式。我们尝试使用 Sheet-js 执行此操作,但它在 AppScript 中不起作用。

我们也尝试使用 Google 电子表格,但似乎每个工作簿有 1000 万个单元格的限制。如果我错了,请纠正我。

有人可以建议我必须采取什么方法来实现这一目标。任何形式的帮助将不胜感激。

谢谢。

【问题讨论】:

  • Excel 支持打开 CSV 文件,为什么要花这么多精力呢?
  • 由于 XLS 是 Microsoft 专有的二进制格式,试图创建“excel 格式”可能超出了本论坛的大多数参与者的范围。正如@GrahamPolley 提到的,只需使用 Excel 打开 CSV。
  • values like '00014' to '14' 使用字符串
  • 嗨@GrahamPolley 是的,但是在excel中打开时它会将'00012'之类的值转换为'12'。这是我们出于报告目的而提出的严格要求,因此我们不能使用 .csv。

标签: excel google-apps-script google-bigquery


【解决方案1】:

您描述的行为(将“00012”等值转换为“12”)仅在Open csv 文件时可见!

相反,您可以 Import 将文件中的数据导入 Excel,如果这样做,您就有能力控制这将如何发生

所以,尝试如下步骤(基于我拥有的 Excel 版本 - 你的可能会略有不同)

Open Excel with New Workbook >> Data >> Get Data >> From File >>   
  From Text/CSV >> Select your File & Import >> Edit >> ...  

上一个列表中的最后一个操作将打开 Power Query 编辑器,您可以在其中设置列的类型以及控制许多其他方面

例如 - 右键单击​​列并将类型更改为文本等。

【讨论】:

  • 嗨,米哈伊尔,我知道。但问题是我们需要自动化这个过程并为最终用户提供一个 excel。如何使用代码控制数据值是我卡住的地方。最终用户只对拥有 Excel 感到满意。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-18
  • 1970-01-01
相关资源
最近更新 更多