使用Applescript在Excel中过滤回车

我试图从一个从Filemaker数据库导出的Excel文件中的几列删除回车,最终目标是从文件创buildSQL插入语句。

我已经find了一些在Excel中删除它们的例子,但是我还没有find可以工作的Applescript。 一个build议是在Excel中使用clean函数,CLEAN(text_with_returns)。 我想我可以在表中创build一个新的列,创build干净的版本,然后删除旧的列,但似乎应该有一个更优雅的解决scheme?

我在Excel Applescript Guide PDF中find了这个string:

replace (range "K:K" of worksheet "Sheet1") what "//r" replacement " " ¬ search order by columns 

我只是没有find正确的forms来replace项目。 试过:“Char(10)”,Chr(10),“// n”。

使用这些AppleScript常量之一( returnlinefeed )。

 replace (range "K:K" of worksheet "Sheet1") what return replacement " " search order by columns -- this replace the Mac line breaks, equal Chr(13) in VBA replace (range "K:K" of worksheet "Sheet1") what linefeed replacement " " search order by columns -- this replace the unix line breaks, equal Chr(10) in VBA 

尽pipe远离FMP是永远不会被鼓掌的,你做这件事的方式听起来相当可怕。 您不会试图将Excel电子表格中的数据编码到庞大的SQL脚本中? 如果是这样,那只是大量的数据腐败和其他意外事件。

您应该编写一个SQL脚本的唯一任务是创build数据库及其表; 数据库结构是固定的,所以安全,易于硬编码。 将数据迁移到这些表的正确方法是使用对新数据库的ODBC调用,将原始数据作为参数传递给INSERT语句,例如(伪代码):

 cursor.execute("insert into products(id, name) values (?, ?)", productID, productName) 

由于我必须去FMP附近的任何地方,所以我不能提供具体的build议,但是它可以通过ODBC直接与其他数据库系统通话 ,在这种情况下,您可以从FMP本身完成整个数据传输,这比将数据导出为一个非常简单的中间格式,并且写一个脚本来解决这个问题更快更简单。