使用Datanitro的交互式表格

我正在尝试创build一个交互式表单,可以根据单元格值加载一些数据。 例如,如果单元格“A1”更改为“estructura”,则范围(C2:E4)将加载data3列表。 下面的代码是一个好方法还是有更好的方法?

data1 = [[1, 2, 3], [4, 5, None], [6, 7, 8]] data2 = [[10, 20, 30], [40, 50, 60], [70, 80, 90]] data3 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] static = Cell("A1").value while True: if static != Cell("A1").value: if Cell("A1").value == "mamposteria": CellRange("C2:E4").clear() Cell("C2").table = data1 elif Cell("A1").value == "mortero": CellRange("C2:E4").clear() Cell("C2").table = data2 elif Cell("A1").value == "estructura": CellRange("C2:E4").clear() Cell("C2").table = data3 static = Cell("A1").value 

该代码有效。 (while循环没有正确缩进,但我认为这是一个错字。)

这是一个更高效的循环版本:

主要区别在于,您每循环读取一次A1的值 – 这比每次比较读取都要快。

 while True: new = Cell("A1").value if static != new: CellRange("C2:E4").clear() Cell("C2").table = {"mamposteria": data1, "moretero": data2, "estructura": data3}[new] static = new