0

我有一个 excel 模板,其中我们有不同的预定义字段,例如 CustomerName、CompanyName、Address 等。所有这些都在单个单元格中,这个单元格被命名为“客户”,同样我们有另一个名为“发件人”的单元格,其中包含与发件人详细信息。我的工作是找到客户和发件人单元格并将它们包含的值替换为实际值,例如我需要找到“客户”单元格并将客户名称替换为实际名称“约翰”,将 ComanyName 替换为“XYZ”等等对于其他领域,同样的任务也适用于 Sender Cell。

我正在使用 Microsoft.Office.Interop.Excel 来执行此任务,如下所示。

xlWorkSheet.Cells.Replace(“客户名称”,“约翰”,Excel.XlLookAt.xlPart,missingValue,missingValue,missingValue,missingValue,missingValue);

xlWorkSheet.Cells.Replace(“公司名称”,“XYZ”,Excel.XlLookAt.xlPart,missingValue,missingValue,missingValue,missingValue,missingValue);

问题是单个单元格中的所有这些字段,我需要找到不同的字段并替换它们的值,如果字段值不是然后将剩余的字段向上移动以填充空白空间。

请提供解决方案。

4

1 回答 1

0

我会将数据拉入字符串,进行字符串操作,然后将其设置回单元格值...

Dim StrToReplace as string = xlWorkSheet.Range("Customer").value

StrToReplace = StrToReplace.replace("CustomerName", "John")
StrToReplace = StrToReplace.replace("CompanyName", "XYZ")
... etc

xlWorkSheet.Range("Customer").value = StrToReplace

您可以通过不在多行上重复 StrToReplace.replace 来提高效率,例如:

StrToReplace = StrToReplace.replace("CustomerName", "John").replace("CompanyName", "XYZ")

或者,也许使用字符串生成器,但这至少应该为您指明解决当前问题的正确方向。

希望这可以帮助

于 2012-10-26T21:09:13.790 回答