在我当前的项目中,我需要创建一个excel文件,在整个列上进行列表验证。谷歌搜索出现以下两个结果:
http://www.aspose.com/docs/display/cellsnet/Working+with+Validations+in+Columns
这是指aspose.cells.griddesktop,它实际上有workheet.Columns [n] .Validations属性。 Aspose.Cells没有。
http://www.aspose.com/docs/display/cellsjava/Data+Filtering+and+Validation 所有示例都使用CellArea,它需要一个起始行和结束行。
我错过了什么?
答案 0 :(得分:2)
有两种类型的Excel格式。一种是较旧的XLS格式,另一种是较新的XLSX格式。 XLS格式的列内行数为65536,XLSX格式为1048576.因此,您可以使用上述两个值来覆盖CellArea中的整个列。
您还可以使用 CellArea.CreateCellArea()静态方法轻松创建单元格区域对象
对于 XLS 格式,以下CellArea代码涵盖整个A列
CellArea ca = CellArea.CreateCellArea("A1", "A65536");
对于 XLSX 格式,以下CellArea代码涵盖整个A列
CellArea ca = CellArea.CreateCellArea("A1", "A1048576");
注意:我在Aspose
担任开发人员传播者答案 1 :(得分:1)
这是覆盖整列的另一种方法。
loop firstname lastname phoneno officeno add street country
0 A A A A A A A
1 A A A A A A B
2 A A A A A A C
3 A A A A A A D
...
12000 C A D B B A D
...
16383 D D D D D D D
public static void main(String[] args) {
for (int i = 0; i <= 16383; i++) {
int name_function_index= i / FUNCTION_NUMBER;
int phone_no_function_index= i % FUNCTION_NUMBER;
int office_no_function_index= ??
int add_no_function_index= ??
这将同时适用于XLS和XLSX格式。
请参阅下面的示例代码,在最后执行它,并阅读其注释。您将获得两个输出Excel文件。一个是XLS格式,另一个是XLSX格式。
现在在这些单元格中输入200(或任何大于100的值),您将收到验证错误。
C#
// Cover entire column A
CellArea ca = CellArea.CreateCellArea("A", "A");
注意: 我正在Aspose担任开发者倡导者