4

我有一个 excel 列表(excel 2003),用户可以在其中输入标记的翻译。它有 3 列(键、值、语言)。它可以是键:Login.Header,值:“请登录网站”语言:en。

这工作得很好。我使用此文件在使用大量文本图形的网站中生成特定于语言的图像。好处是用户无需安装新软件就可以输入文本,编辑很好,我的 python 脚本可以轻松读取生成的文件。

有一个我不喜欢的想法:如果 2 个用户编辑文件并且有很多更改,那么合并就会成为一场噩梦。

有没有在我描述的领域中和 excel 一样好的编辑解决方案,但可以更容易地合并?

编辑

到目前为止的答案解释了源代码控制系统如何在这种情况下提供帮助。但我已经有了 SVN。

问题是关于文件格式。有一些文件格式很容易与 winmerge 等客户端合并(如 java 或 c# 后端类的源代码),还有一些难以合并的文件格式(xml,由代码生成生成的文件)。xls - 可以区分 excel 2003 的文件,但它仍然不是合并的好格式。

我认为有一个不同的应用程序(比如appleworks、open office、excel 2010 ..)可以让我编辑表格但可以更轻松地合并。

4

6 回答 6

3

一种方法是将此 Excel 文件导出为 XML 或 CSV。比使用 Excel 编辑文本类型文件而不是xls.

还可以考虑将一个大文件拆分为多个文件。这减少了两个人想要处理同一个文件的机会。

将其置于源代码管理之下,并向您的用户介绍源代码管理的基础知识。Let uses 将负责合并文件。SVN将非常适合这项任务,因为它是一个集中的而不是一个非常复杂的解决方案。为普通用户使用漂亮的GUI

使用集中的源代码控制,您可以引入锁定。它允许您在一个用户打开文件后拒绝写入访问,这样只有一个用户可以同时编辑一个文件。

于 2010-07-15T17:48:12.730 回答
3

有没有在我描述的领域中和 excel 一样好的编辑解决方案,但可以更容易地合并?

也许不完全是预期的答案,但避免合并和冲突问题的最佳方法显然是避免不得不合并。我会考虑使用协作编辑解决方案来避免处理文件的各种版本:

  • 如果您的所有用户都在同一个网络(LAN、VPN)上,那么想到的第一个解决方案是将唯一的 Excel 文件放在网络共享上并激活共享工作簿选项。这工作得很好,如果发生冲突,用户会收到一个冲突解决对话框提示。

  • 如果这不是一个选项,那么您可以将电子表格放在 Google Docs 上。Google Docs 非常适合协作工作(很容易配置谁可以访问文档,您可以看到当前连接的用户列表,协作版就可以了)。然后在完成后导出电子表格进行处理。

  • 使用像Gobby(多平台)这样的协作文本编辑器并处理原始 CSV 文件。不过,这对用户来说不是很友好,尤其是对于非技术人员,而且容易出错。我赞成上述解决方案。

于 2010-07-21T03:48:16.943 回答
1

合并通常很痛苦。一些版本控制系统可以为您完成大部分工作,合并非冲突更改并在两者都尝试更改相同令牌时提示用户。

Tortoise(SVN 或 Hg)具有合并功能,可以轻松完成此操作。但我是以开发人员的身份发言——我在向非开发人员引入版本控制时遇到了很多困难,即使是那些不使用 CD 托盘作为杯架的有能力的人也是如此。:)

您可能会考虑将一个大文件拆分为多个文件。这减少了两个人想要处理同一个文件的机会。一旦一个用户打开文件,也有可能拒绝写访问,这样只有一个用户可以同时编辑一个文件。

于 2010-07-15T19:41:49.083 回答
0

Excel 的一个鲜为人知/使用的功能是“共享工作簿”功能。您可以在Tools -> Share Workbook下找到它。只需单击“允许更改...”复选框,您就可以在“高级”选项卡中进行微调。

这是让多个用户将编辑应用于工作表的最佳选择,并且适用于两种情况:

  1. 每个人都下载 XLS 的副本并在他们身边进行编辑,然后上传回某个位置。然后,您可以将其与原始文件合并。
  2. 每个人都打开同一个 XLS 副本并同时进行编辑。然后,您可以合并任何/所有更改。
于 2010-07-16T03:34:19.257 回答
0

让用户像现在一样使用 Excel 文件,但将数据保存在受版本控制的纯文本文件(可能是 csv)中。那么你只需要:

  • 一个用于将文本文件转换为 Excel 以提供给用户的小型 Python 脚本。

  • 一个将完成的 Excel 文件转换回文本的小 Python 脚本。这需要一致地对数据进行排序(例如,在键和语言上)以简化合并。

于 2010-07-18T10:56:15.803 回答
0

任何类型的平面文件都很容易合并。

如果您想坚持使用 Excel,编写一个将单元格内容导出到平面文件中的宏并不难。为了可用性,您可以使宏也以原生 Excel 格式保存工作表以供将来编辑。如果您在工作表上放置一个按钮并将其链接到宏,则用户可以通过单击按钮轻松导出并保存文件。

于 2010-07-21T04:21:18.173 回答