Java 验证列表 Openoffice
Java Validation List Openoffice
我正在尝试创建电子表格,我想将 ValidationType
“List
”应用到特定单元格。
到目前为止我这样做了:
public static void setValidationProperty(XCell cell)
{
XPropertySet xPropertySet = UnoRuntime.queryInterface(XPropertySet.class, cell);
XPropertySet xPropSet1 = null;
XPropertySet xPropSet2 = null;
xPropSet1 = UnoRuntime.queryInterface(XPropertySet.class, xPropertySet.getPropertyValue("Validation"));
xPropSet2 = UnoRuntime.queryInterface(XPropertySet.class, xPropSet1);
xPropSet2.setPropertyValue("Type", ValidationType.LIST);
xPropSet2.setPropertyValue("ShowList", (short) 1);
xPropSet2.setPropertyValue("IgnoreBlankCells", (Boolean) true);
xPropertySet.setPropertyValue("Validation", xPropSet2);
}
类型 LIST
的 OpenOffice 文档描述是:
只有来自指定列表的字符串才有效。
(http://www.openoffice.org/api/docs/common/ref/com/sun/star/sheet/ValidationType.html#LIST)
过去 3 天我一直在搜索,但我不知道必须在哪里创建此指定列表以及如何应用它。
如果有人能帮助我,我会更高兴。
提前致谢。
调用方法setFormula1 as shown in Basic at https://forum.openoffice.org/en/forum/viewtopic.php?f=20&t=25345.
XPropertySet xPropertySet = UnoRuntime.queryInterface(
XPropertySet.class, cell);
XPropertySet xValidPropSet = UnoRuntime.queryInterface(
XPropertySet.class, xPropertySet.getPropertyValue("Validation"));
xValidPropSet.setPropertyValue("Type", ValidationType.LIST);
xValidPropSet.setPropertyValue("ShowList", (short) 1);
xValidPropSet.setPropertyValue("IgnoreBlankCells", (Boolean) true);
XSheetCondition xCondition = (XSheetCondition)
UnoRuntime.queryInterface(XSheetCondition.class, xValidPropSet);
xCondition.setOperator(ConditionOperator.EQUAL);
xCondition.setFormula1("\"1\";\"2\";\"3\"");
xPropertySet.setPropertyValue("Validation", xValidPropSet);
(注意:我没有编译或测试这段代码)。
另请查看显示 Java 代码的 DevGuide page。
我正在尝试创建电子表格,我想将 ValidationType
“List
”应用到特定单元格。
到目前为止我这样做了:
public static void setValidationProperty(XCell cell)
{
XPropertySet xPropertySet = UnoRuntime.queryInterface(XPropertySet.class, cell);
XPropertySet xPropSet1 = null;
XPropertySet xPropSet2 = null;
xPropSet1 = UnoRuntime.queryInterface(XPropertySet.class, xPropertySet.getPropertyValue("Validation"));
xPropSet2 = UnoRuntime.queryInterface(XPropertySet.class, xPropSet1);
xPropSet2.setPropertyValue("Type", ValidationType.LIST);
xPropSet2.setPropertyValue("ShowList", (short) 1);
xPropSet2.setPropertyValue("IgnoreBlankCells", (Boolean) true);
xPropertySet.setPropertyValue("Validation", xPropSet2);
}
类型 LIST
的 OpenOffice 文档描述是:
只有来自指定列表的字符串才有效。
(http://www.openoffice.org/api/docs/common/ref/com/sun/star/sheet/ValidationType.html#LIST)
过去 3 天我一直在搜索,但我不知道必须在哪里创建此指定列表以及如何应用它。
如果有人能帮助我,我会更高兴。
提前致谢。
调用方法setFormula1 as shown in Basic at https://forum.openoffice.org/en/forum/viewtopic.php?f=20&t=25345.
XPropertySet xPropertySet = UnoRuntime.queryInterface(
XPropertySet.class, cell);
XPropertySet xValidPropSet = UnoRuntime.queryInterface(
XPropertySet.class, xPropertySet.getPropertyValue("Validation"));
xValidPropSet.setPropertyValue("Type", ValidationType.LIST);
xValidPropSet.setPropertyValue("ShowList", (short) 1);
xValidPropSet.setPropertyValue("IgnoreBlankCells", (Boolean) true);
XSheetCondition xCondition = (XSheetCondition)
UnoRuntime.queryInterface(XSheetCondition.class, xValidPropSet);
xCondition.setOperator(ConditionOperator.EQUAL);
xCondition.setFormula1("\"1\";\"2\";\"3\"");
xPropertySet.setPropertyValue("Validation", xValidPropSet);
(注意:我没有编译或测试这段代码)。
另请查看显示 Java 代码的 DevGuide page。