在我的anylogic模型中,我的代理从基于Excel文件的数据库表中接收他们的参数(这是工作的部分(。在Excel文件中,每个单元格都存储了自己的代码,因此每次打开文件时,单元格值都会发生变化。
我希望每次自动运行我的模型时,Excel文件都会再次读入(即代理的参数值会发生变化(
为此,我参加了";在每次运行之前":
Database myFile = new Database(this, "rohdaten2", "C:Users2nd UserModelsTestModel_Excel-Pt3_DatabasisForSimulationChanges1 2 DataBasis_Changing_w7oMakros.xlsx");
rohdaten.importFromExternalDB(myFile.getConnection(), "Rohdaten", "rohdaten", true, false);
不幸的是,我现在得到错误:
描述:无效的转义序列(有效的转义序列是\b\t\t\r\ quot;'\(。位置:TestModel_Excel-Pt3_DatabasesForSimulationChanges1/ParametersVariation-参数变化实验
错误是由于文件位置的指定,但根据Anylogic帮助,您应该这样做。一般来说,我的编程技能,包括Java编程技能,都不足以让我知道现在该做什么或如何解决这个问题。
尝试使用双反斜杠而不是单反斜杠。Java中的Backslash是一个特殊的字符,所以您不能单独使用它。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