我如何使用Spreadsheet.setSpreadsheetLocale?

时间:2012-06-25 14:34:41

标签: google-apps-script google-sheets locale

我正在尝试更改电子表格的区域设置,但setSpreadsheetLocale似乎不起作用。

如果我这样做

var ss = SpreadsheetApp.getActiveSpreadsheet();
ss.setSpreadsheetLocale('en_AU');
Browser.msgBox(ss.getSpreadsheetLocale());

消息框显示正确的区域设置,但工作表中日期的格式不会更改。此外,“文件”,“电子表格设置...”仍然显示以前的区域设置。 如果我关闭电子表格并重新打开它,它仍然是原始语言环境。

这是我做错了什么,还是一个错误?

在Serge insas评论之后

编辑:确实,刷新页面(F5)会使用新的Locale更新显示。

2 个答案:

答案 0 :(得分:2)

在刷新页面之前,电子表格似乎不尊重新的区域设置,而在UI中更改它会使其立即生效。您可以在issue tracker上打开错误报告来跟踪此问题。

答案 1 :(得分:1)

我的解决方法是使用copyTo()方法将带有正确设置的电子表格中的工作表移动到新的(刚刚创建的)电子表格中。

这样,新电子表格会继承设置。