【发布时间】:2013-10-24 12:38:05
【问题描述】:
我有一个庞大的地址和详细信息列表,需要将其转换为 Excel 电子表格,我认为最好的方法是读取数据,然后编写第二个文档,将这些行分开,以便它们在制表符分隔的同时识别空白行(数据条目之间)以保留每个单独的地址。
格式如下:
地址A1
地址B1
邮编1
名称1
电话号码1地址A2
地址B2
邮编2
名称2
名称2
电话号码2地址A3
地址B3
邮编3
名称3
电话号码3
因此,当一家公司有多个名称时也会遇到困难,但我可以在必要时手动格式化(理想情况下,他们希望彼此使用相同的地址)。
然后,生成的文本文档希望以制表符分隔: 姓名|地址A|地址B|邮编|电话号码
我认为这在一个简单的 .bat 命令中最容易做到吗?或者我应该在 excel 中打开列表并通过它运行脚本..?
我正在考虑是否可以通过将每个条目添加到数组($address $name 等)的位置运行,然后我可以通过编写 $name[i] tab来使用它来构建一个新的文本文件> $address[$i]等
有数百个条目,事实证明手动输入......很困难。
我在 MEL(基本上是 C++)方面有一些经验,所以我总体上了解编程,但对 .bat 和 Excel (VB?) 如何处理和定义空行和制表符有些茫然。
【问题讨论】:
-
我知道如何在 PHP 中执行此操作,但不确定是否同样适用于 VB 脚本。我将在双行返回(空行)时拆分字符串,然后迭代生成的数组,通过单行返回拆分每个项目,用逗号将它们连接在一起,然后将外部数组与行返回连接。在 PHP 中,行返回是用 \n 完成的,但我不确定同样的事情是否适用于 VB,对不起。
-
一个文件/一次性任务?使用 word(甚至 write.exe 也可以),用“特殊字符串”(如
##@@##)替换双换行符,然后用制表符替换单个换行符,然后用单个换行符替换所有特殊字符串。另存为.csv -
我设法使用 word 进入 excel(感谢 Stephan!)不幸的是,由于额外的名称和不同的地址长度(有些只是列出名称和邮政编码,有些有 5 行等)它仍然很大混乱,但没有其他方法可以解决 - 必须手动格式化表格的其余部分。无论如何,感谢您的所有帮助!问候,皮特
-
问题不是将其读入电子表格,而是对齐列。纠正我,但看起来一条记录至少包含 4 行,最多 6 行。格式为(必填)地址 1,(可选)地址 2,(必填)邮政编码,(必填)姓名 1,(可选)姓名 2,(必填)电话。那正确吗?邮政编码是由数字、字母还是两者兼而有之?电话号码是否仅由数字、破折号、加号和括号组成?
标签: arrays vb.net excel batch-file text