繁体   English   中英

Anylogic 在每次模拟运行之前以编程方式更新表

[英]Anylogic update table programmatically before each simulation run

在我的 anylogic 模型中,我的代理从基于 Excel 文件的数据库表中接收参数(这是有效的部分)。 在 Excel 文件中,每个单元格都存储了自己的代码,因此每次打开文件时,单元格的值都会发生变化。

我希望每次自动运行我的模型时都会再次读入 Excel 文件(即代理的参数值发生变化)。
为此,我在“每次运行之前”下的实验中输入了:

Database myFile = new Database(this, "rohdaten2", "C:\Users\2nd User\Models\TestModel_Excel-Pt3_DatabasisForSimulationChanges1\02 DataBasis_Changing_w7oMakros.xlsx");  
rohdaten.importFromExternalDB(myFile.getConnection(), "Rohdaten", "rohdaten", true, false);

不幸的是,我现在收到错误:

说明:无效的转义序列(有效的是 \b \t \n \f \r " ' \ )。位置:TestModel_Excel-Pt3_DatabasisForSimulationChanges1/ParametersVariation - 参数变化实验

该错误是由于文件特定位置的规范造成的,但根据 Anylogic 的帮助,您应该这样做。 我的编程技能,包括 Java 在内,都不足以让我知道现在该做什么或如何解决这个问题。

尝试使用双反斜杠而不是单反斜杠。 Java中的反斜杠是一个特殊字符,所以你不能单独使用它。 Java 字符串中的双反斜杠被转换为单反斜杠。

您的代码如下所示:

Database myFile = new Database(this, "rohdaten2", "C:\\Users\\2nd User\\Models\\TestModel_Excel-Pt3_DatabasisForSimulationChanges1\\02 DataBasis_Changing_w7oMakros.xlsx");  

这是一篇关于在 Java 中转义字符的文章。 https://codegym.cc/groups/posts/escaping-characters-java

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM