上一篇中我们成功取得 Workbook、WorksheetCollection 后,接着我们可以透过 Worksheet:
取得/设定 Worksheet 的各项资讯,如:背景、隐藏工作表、显示尺标、显示大纲等取得其他功能的 Collection,如:图表、资料验证、枢纽分析、嵌入外部档案等
取得 Worksheet
上篇中介绍了 Worksheet 有三个参数(index、sheetName、sheetType),在取得 Worksheet 时,我们可以利用 index 或 sheetName 来取得特定的 Worksheet 物件,或是使用 for 遍历所有 Worksheet,如下例。
Workbook workbook = new Workbook("file.xls");WorksheetCollection sheets = workbook.getWorksheets();// 根据 index、sheetName 取得特定 Worksheet 物件Worksheet sheet1 = sheets.get(index);Worksheet sheet2 = sheets.get(sheetName);// 使用 for 遍历所有 Worksheetfor(int i = 0; i < worksheets.getCount(); i++) { Worksheet sheet = sheets.get(i);}
Worksheet
成功取得 Worksheet 后,接着我们可以设定 Worksheet 的默认参数,或取得 Worksheet 底下的其他 Collection。
Worksheet Property
取得 Worksheet 资讯
getter | setter | 说明 | (String)getName()setName(String)sheetName,使用者设定的名称(String)getCodeName()setCodeName(String)系统中的 sheetName,预设为:Sheet1、Sheet2、...(String)getUniqueId()setUniqueId(String)sheet 的唯一值,範例:{07e90875-9ec9-48fb-9fbc-3a02eaea8f85}(int)getIndex()这个 sheet 在 WorksheetCollection 中排第几个(0,1,2,...)(int)getTabId()setTabId这个 sheet 排在第几个(1,2,3,...)(int)getType()setType(int)这个 sheet 的 SheetType(boolean)hasAutofilter()是否含有筛选器(boolean)isProtected()是否被保护(int)getFirstVisibleColumn()setFirstVisibleColumn(int)取得第一个可见行(int)getFirstVisibleRow()setFirstVisibleRow(int)取得第一个可见列
Worksheet 显示设定:
getter | setter | 说明 | (byte[])getBackgroundImage()setBackgroundImage(byte[])设定背景图片setBackground(byte[])设定背景(aspose.cells.Color)getTabColor()setTabColor(aspose.cells.Color)工作表标籤颜色设定(boolean)getDisplayRightToLeftsetDisplayRightToLeft(boolean)sheet 是否由右往左显示,预设为false(boolean)isVisible()setVisible(boolean)sheet 是否可见。false 为隐藏 sheet(int)getVisibilityType()setVisibilityType(int)VisibilityType,选项:HIDDEN(1):隐藏,使用者可取消隐藏、VERY_HIDDEN(2):隐藏,只能透过程式改为可见、VISIBLE(3):可见
// 可见worksheets.get(3).setVisible(true);worksheets.get(7).setVisibilityType(com.aspose.cells.VisibilityType.VISIBLE);// 隐藏worksheets.get(4).setVisible(false);worksheets.get(5).setVisibilityType(com.aspose.cells.VisibilityType.HIDDEN);// 隐藏,使用者不可取消隐藏,仅可透过程式取消隐藏worksheets.get(6).setVisibilityType(com.aspose.cells.VisibilityType.VERY_HIDDEN);
检视设定:
getter | setter | 说明 | (boolean)isRowColumnHeadersVisible()setRowColumnHeadersVisible(boolean)是否冻结顶端列(int)getPaneState()回传窗格状态 PaneStateType,FROZEN(0)、FROZEN_SPLIT(1)、SPLIT(2)、NORMAL(3)
// 冻结顶端列sheet.setRowColumnHeadersVisible(true);System.out.println(sheet.getPaneState()); //0// 取消冻结首端列sheet.setRowColumnHeadersVisible(false);System.out.println(sheet.getPaneState()); //3
进阶设定
getter | setter | 说明 | (boolean)isRulerVisible()setRulerVisible(boolean)是否显示尺规(boolean)isOutlineShown()setOutlineShown(boolean)是否显示大纲(boolean)getDisplayZeros()setDisplayZeros(boolean)当 cell 的值为零时,是否显示(int)getZoom()setZoom(int)显示比例,输入值应于100~400之间(boolean)isPageBreakPreview()setPageBreakPreview(boolean)是否使用分页预览显示,预设为false(int)getViewType()setViewType(int)检视方式 ViewType,3种模式图片说明,选项:标準模式 NORMAL_VIEW(0)、分页预览 PAGE_BREAK_PREVIEW(1)、整页模式 PAGE_LAYOUT_VIEW(2)
// 标準模式worksheets.get(0).setPageBreakPreview(false);worksheets.get(1).setViewType(com.aspose.cells.ViewType.NORMAL_VIEW);// 分页预览worksheets.get(0).setPageBreakPreview(true);worksheets.get(1).setViewType(com.aspose.cells.ViewType.PAGE_BREAK_PREVIEW);// 整页模式worksheets.get(2).setViewType(com.aspose.cells.ViewType.PAGE_LAYOUT_VIEW);

相容性设定:
getter | setter | 说明 | (boolean)getTransitionEntry()getTransitionEntry(boolean)Lotus 相容性设定以相容模式开启 Lotus(boolean)getTransitionEvaluation()getTransitionEvaluation(boolean)Lotus 相容性设定将 Lotus 公式转换为 Excel 公式
取得 Collection
常用功能区
物件 | getter | 说明 | CellsgetCells()取得所有栏位ConditionalFormattingCollectiongetConditionalFormattings()设定格式化的条件AutoFiltergetAutoFilter()筛选器
插入功能区
物件 | getter | 说明 | ListObjectCollectiongetListObjects()表格PivotTableCollectiongetPivotTables()枢纽分析PictureCollectiongetPictures()图片ShapeCollectiongetShapes()图片、手绘多边形、文字艺术师等ChartCollectiongetCharts()图表SparklineGroupCollectiongetSparklineGroupCollection()走势图SlicerCollectiongetSlicers()交叉分析筛选器TextBoxCollectiongetTextBoxes()文字方块HyperlinkCollectiongetHyperlinks()超连结OleObjectCollectiongetOleObjects()嵌入档案,如:word等,使用範例
页面配置功能区
物件 | getter | 说明 | HorizontalPageBreakCollectiongetHorizontalPageBreaks()水平分页符号VerticalPageBreakCollectiongetVerticalPageBreaks()垂直分页符号
公式功能区
物件 | getter | 说明 | ErrorCheckOptionCollectiongetErrorCheckOptions()错误检查CellWatchCollectiongetCellWatches()监视窗口
资料功能区
物件 | getter | 说明 | QueryTableCollectiongetQueryTables()查询ValidationCollectiongetValidations()资料验证ScenarioCollectiongetScenarios()模拟分析、分析蓝本管理员
校阅功能区
保护活页簿功能,确定会在后续开一篇文章介绍。
物件 | getter | 说明 | CommentCollectiongetComments()注解ProtectiongetProtection()保护活页簿、权限设定、密码设定ProtectedRangeCollectiongetAllowEditRanges()保护活页簿(允许编辑範围)
开发人员功能区
物件 | getter | 说明 | CheckBoxCollectiongetCheckBoxes()核取方块
档案功能区
物件 | getter | 说明 | CustomPropertyCollectiongetCustomProperties()进阶摘要资讯SmartTagSettinggetSmartTagSetting()智慧标籤 Smart Tag、校订-自动校正
透过这次整理才惊觉 Excel 的功能这么多,也见识到 aspose 这个工具的强大,希望这个总整理可以帮助您快速找到需要的物件。其中的一些物件也会出现在以后的文章中,并实际使用给您参考,敬请期待。
下一次要介绍的是 Cells,其中包含资料输出等,感谢您的阅读!