com.zhuozhengsoft.pageoffice.excelwriter
类 Table

java.lang.Object
  继承者 com.zhuozhengsoft.pageoffice.excelwriter.Table

public class Table
extends java.lang.Object

Table 类,代表PageOffice中定义的Excel表格对象。

在PageOffice中,我们把Excel工作表上的任意一块连续的单元格区域定义为一个Table对象。Table 类按照常用的数据库组件中的数据表的概念封装了一系列对连续单元格区域进行的数据操作。 Table 类简化了对Excel单元格区域的各种复杂操作,使得开发者可以像操作熟悉的数据表一样操作Excel中的单元格区域,大大提高了开发效率及代码稳定性。

使用Table对象,您不仅可以在指定的单元格区域里填充数据,甚至还可以在完全空白区域画出表格并填充数据。

您只能通过调用 Sheet.openTable(String) 方法获取 Table 对象。

版本:
2.0
作者:
北京卓正志远软件有限公司

方法摘要
 void close()
          关闭当前表格。
 Border getBorder()
          获取边框对象。
 DataFieldCollection getDataFields()
          获取当前记录行的 DataField 字段集合。
 Font getFont()
          获取字体对象。
 java.lang.String getRangeAddress()
          获取 Table 的单元格区域引用字符串。
 void merge()
          把当前整个表格合并成一个单元格。
 void merge(boolean across)
          把当前整个表格合并成一个单元格或把表格中的所有列合并成一列。
 void nextRow()
          将数据指针移动到下一行记录。
 void setBackColor(java.awt.Color value)
          设置表格的背景色。
 void setColumnWidth(double value)
          设置表格的列宽。
 void setForeColor(java.awt.Color value)
          设置表格的前景色。
 void setHorizontalAlignment(XlHAlign value)
          设置表格的水平对齐方式。
 void setNumberFormatLocal(java.lang.String value)
          设置表格的数据显示格式。
 void setReadOnly(boolean value)
          设置表格是否只读。
 void setRowHeight(double value)
          设置表格的行高。
 void setSubmitName(java.lang.String value)
          设置表格的 SubmitName。
 void setVerticalAlignment(XlVAlign value)
          设置表格的垂直对齐方式。
 
从类 java.lang.Object 继承的方法
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

方法详细信息

getRangeAddress

public java.lang.String getRangeAddress()
                                 throws java.io.IOException
获取 Table 的单元格区域引用字符串。例如:"A1:F5"。

这里返回的是打开当前Table表格时使用的单元格区域引用字符串。

抛出:
java.io.IOException

getDataFields

public DataFieldCollection getDataFields()
                                  throws java.lang.Exception
获取当前记录行的 DataField 字段集合。

抛出:
java.lang.Exception
另请参见:
Sheet.openTable()方法中的示例代码,学习如何调用 getDataFields 方法。

getBorder

public Border getBorder()
                 throws java.io.IOException
获取边框对象。

抛出:
java.io.IOException
另请参见:
Sheet.openTable()方法中的第二个示例。

setBackColor

public void setBackColor(java.awt.Color value)
                  throws java.io.IOException
设置表格的背景色。

抛出:
java.io.IOException
另请参见:
Sheet.openTable()方法中的第二个示例。

setForeColor

public void setForeColor(java.awt.Color value)
                  throws java.io.IOException
设置表格的前景色。

抛出:
java.io.IOException
另请参见:
Sheet.openTable()方法中的第二个示例。

setRowHeight

public void setRowHeight(double value)
                  throws java.io.IOException
设置表格的行高。以磅为单位。

抛出:
java.io.IOException
另请参见:
Sheet.openTable()方法中的第二个示例。

setColumnWidth

public void setColumnWidth(double value)
                    throws java.io.IOException
设置表格的列宽。

一个列宽单位等于“常规”样式中一个字符的宽度。

抛出:
java.io.IOException
另请参见:
Sheet.openTable()方法中的第二个示例。

setReadOnly

public void setReadOnly(boolean value)
                 throws java.io.IOException
设置表格是否只读。

如果值为true,处于可编辑的Table将变成只读。如果值为false,处于只读的Table将变成可编辑。

注意:只有当文档打开模式是 OpenModeType.xlsSubmitForm 时,ReadOnly 属性才有效。

默认值为false。

抛出:
java.io.IOException

setSubmitName

public void setSubmitName(java.lang.String value)
                   throws java.lang.Exception,
                          java.io.IOException
设置表格的 SubmitName。

SubmitName 用来标记当前 Table 对象在控件保存时需要被提交到 SaveDataPage 服务器页面。

只有当您需要提交当前 Table 中的数据时,才需要定义 SubmitName。 如果您定义了SubmitName,当保存文档时,此 SubmitName 将被作为 com.zhuozhengsoft.pageoffice.excelreader.Sheet.openTable(string) 方法的参数来获取指定的 Table 对象。 如果您使用的文档打开模式是OpenModeType.xlsSubmitForm,并且当前表格对象定义了SubmitName,那么此表格会自动处于可编辑状态。如果此时您需要将表格设为只读,只要给当前表格的 ReadOnly 属性赋值true就可以了。

下面的示例展示了如何定义需要提交的Cell和Table。

 Workbook wb = new Workbook();
 Sheet sheet1 = wb.openSheet("sheet1");
 
 sheet1.openCell("C2").setSubmitName("CompanyName"); // 此单元格需要提交
 sheet1.openTable("B6:F10").setSubmitName("SalesInfo");// 此表格需要提交
 
 poCtrl1.setServerPage("poserver.do"); //此行必须
 poCtrl1.setSaveDataPage("savedata.jsp");
 poCtrl1.setWriter(wb);
 poCtrl1.webOpen("doc/test.xls", OpenModeType.xlsSubmitForm, "张三");
 poCtrl1.setTagId("PageOfficeCtrl1"); //此行必须
 

参数:
value - 由开发者自由定义,一般命名为数据库里数据表的名字,代码易于理解。这里定义的SubmitName在文档保存时将被用作 com.zhuozhengsoft.pageoffice.excelreader.Sheet.openTable(string) 方法的参数。

SubmitName 在同一个Sheet里应该保持唯一。SubmitName 对大小写敏感。

抛出:
java.lang.Exception
java.io.IOException

getFont

public Font getFont()
获取字体对象。


setHorizontalAlignment

public void setHorizontalAlignment(XlHAlign value)
                            throws java.io.IOException
设置表格的水平对齐方式。

抛出:
java.io.IOException

setVerticalAlignment

public void setVerticalAlignment(XlVAlign value)
                          throws java.io.IOException
设置表格的垂直对齐方式。

抛出:
java.io.IOException

setNumberFormatLocal

public void setNumberFormatLocal(java.lang.String value)
                          throws java.io.IOException
设置表格的数据显示格式。

抛出:
java.io.IOException

nextRow

public void nextRow()
             throws java.lang.Exception,
                    java.io.IOException
将数据指针移动到下一行记录。

抛出:
java.lang.Exception
java.io.IOException
另请参见:
Sheet.openTable()方法中的示例代码。

close

public void close()
           throws java.lang.Exception,
                  java.io.IOException
关闭当前表格。

必须在对当前表格的所有调用代码之后立即调用 close 方法关闭当前表格。一旦表格关闭就不能再次引用该Table对象,除非再次打开它。

抛出:
java.lang.Exception
java.io.IOException
另请参见:
Sheet.openTable()方法中的示例代码。

merge

public void merge()
           throws java.lang.Exception,
                  java.io.IOException
把当前整个表格合并成一个单元格。

合并后单元格的值是合并前表格左上角单元格的值。

抛出:
java.lang.Exception
java.io.IOException
另请参见:
Sheet.openTable()方法中的第二个示例。

merge

public void merge(boolean across)
           throws java.lang.Exception,
                  java.io.IOException
把当前整个表格合并成一个单元格或把表格中的所有列合并成一列。

参数:
across - 如果为 true,则将表格中的所有列合并成一列。默认值为 false
抛出:
java.lang.Exception
java.io.IOException