【Aspose系列】Aspose.Cells (2) - Worksheet

上一篇中我们成功取得 Workbook、WorksheetCollection 後,接着我们可以透过 Worksheet:

  1. 取得/设定 Worksheet 的各项资讯,如:背景、隐藏工作表、显示尺标、显示大纲等
  2. 取得其他功能的 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 遍历所有 Worksheet
for(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)getDisplayRightToLeft setDisplayRightToLeft(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) 检视方式 ViewType3种模式图片说明,选项:标准模式 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);

https://ithelp.ithome.com.tw/upload/images/20210711/20129826FHAzvYiJRr.jpg

相容性设定:

getter setter 说明
(boolean)getTransitionEntry() getTransitionEntry(boolean) Lotus 相容性设定以相容模式开启 Lotus
(boolean)getTransitionEvaluation() getTransitionEvaluation(boolean) Lotus 相容性设定将 Lotus 公式转换为 Excel 公式

取得 Collection

常用功能区

物件 getter 说明
Cells getCells() 取得所有栏位
ConditionalFormattingCollection getConditionalFormattings() 设定格式化的条件
AutoFilter getAutoFilter() 筛选器

插入功能区

物件 getter 说明
ListObjectCollection getListObjects() 表格
PivotTableCollection getPivotTables() 枢纽分析
PictureCollection getPictures() 图片
ShapeCollection getShapes() 图片、手绘多边形、文字艺术师等
ChartCollection getCharts() 图表
SparklineGroupCollection getSparklineGroupCollection() 走势图
SlicerCollection getSlicers() 交叉分析筛选器
TextBoxCollection getTextBoxes() 文字方块
HyperlinkCollection getHyperlinks() 超连结
OleObjectCollection getOleObjects() 嵌入档案,如:word等,使用范例

页面配置功能区

物件 getter 说明
HorizontalPageBreakCollection getHorizontalPageBreaks() 水平分页符号
VerticalPageBreakCollection getVerticalPageBreaks() 垂直分页符号

公式功能区

物件 getter 说明
ErrorCheckOptionCollection getErrorCheckOptions() 错误检查
CellWatchCollection getCellWatches() 监视窗口

资料功能区

物件 getter 说明
QueryTableCollection getQueryTables() 查询
ValidationCollection getValidations() 资料验证
ScenarioCollection getScenarios() 模拟分析、分析蓝本管理员

校阅功能区

  • 保护活页簿功能,确定会在後续开一篇文章介绍。
物件 getter 说明
CommentCollection getComments() 注解
Protection getProtection() 保护活页簿、权限设定、密码设定
ProtectedRangeCollection getAllowEditRanges() 保护活页簿(允许编辑范围)

开发人员功能区

物件 getter 说明
CheckBoxCollection getCheckBoxes() 核取方块

档案功能区

物件 getter 说明
CustomPropertyCollection getCustomProperties() 进阶摘要资讯
SmartTagSetting getSmartTagSetting() 智慧标签 Smart Tag校订-自动校正

透过这次整理才惊觉 Excel 的功能这麽多,也见识到 aspose 这个工具的强大,希望这个总整理可以帮助您快速找到需要的物件。其中的一些物件也会出现在以後的文章中,并实际使用给您参考,敬请期待。

下一次要介绍的是 Cells,其中包含资料输出等,感谢您的阅读!


<<:  CMoney软件工程师战斗营_专题制作改善ui/ux_Week 19

>>:  CMoney软件工程师战斗营_心得感想_Week 20

Day17-维稳? StatefulSet介绍

在pod的生态中,本身就是一个小小世界,新旧pod之间通常不影响,当建立新的pod时,基本上不会跟被...

[Day 11] 第一主餐 pt.4-Djgnao,进化

在上一篇我们成功运行了django专案 今天我们要来加点东西,让我们的django成为一个web框架...

三分钟就可以 CentOS 7 安装 LogAnalyzer

首先 CentOS 7 做 mini install putty ssh 登入安装 LogAnaly...

Day08 - 套用 Html Helper - 复杂型别 object + collection

Case01 跟 Day05 范例差不多,差异如下: Controller 於 Get 时,先写死固...

测试表格,请忽略

╳ HTML CSS JS 作用 负责输出内容 美化HTML输出的内容+整个网站 增加网站的互动性...