[]
GcExcel 提供了 BookView 类,可以使您对工作簿的一些 UI 设置进行配置。
您可以使用 IWorkbook 接口的 getBookView 方法来根据您的选择设置工作簿显示。
所述 IWorkbookView 接口提供了以下方法,以允许用户在工作簿进一步定制必要显示设置:
方法 | 描述 |
---|---|
用于获取或设置水平滚动条的显示。 | |
用于获取或设置垂直滚动条的显示。 | |
用于获取或设置工作簿选项卡的显示。 | |
用于获取或设置(工作簿的)选项卡区域的宽度与(工作表的)水平滚动条的宽度的比率。TabRatio的值可以是0到1之间的任何数字。默认情况下,如果未设置TabRatio,则值为0.6。 |
为了设置工作簿视图并自定义其他显示设置,请参考以下代码片段。
// Create a new workbook
Workbook workbook = new Workbook();
// Configure Workbook View Settings
IWorkbookView bookView = workbook.getBookView();
bookView.setDisplayVerticalScrollBar(false);
bookView.setDisplayWorkbookTabs(true);
bookView.setTabRatio(0.5);
// Save to an excel file
workbook.save("ConfigureWorkbookView.xlsx");
GcExcel Java 还允许您将通过自定义属性或方法创建的视图保存为自定义视图。存储在工作簿中的自定义视图集合由 IWorkbook.getCustomViews 方法。集合中的每个自定义视图由ICustomView 对象表示,并存储当前工作簿中所有工作表的视图状态。您可以为每个自定义视图设置名称、行设置和打印设置属性。要向工作簿添加新的自定义视图,可以使用 add 方法。如果集合中已存在自定义视图名称,则新视图将覆盖现有自定义视图。要将自定义视图应用于工作簿,可以使用 ICustomView.show 方法。类似地,可以通过调用 ICustomView.delete 从集合中删除自定义视图。
注意: add 方法不允许添加自定义视图,并在以下情况下引发异常:
如果工作簿包含一个表或数据透视表
当自定义视图的名称为 null 或空白时
// Create a new workbook
Workbook workbook = new Workbook();
IWorksheet worksheet1 = workbook.getActiveSheet();
IWorksheet worksheet2 = workbook.getWorksheets().add();
worksheet1.getRange("J12").setValue(1);
worksheet2.getRange("J12").setValue(2);
// Add the normal view.
workbook.getCustomViews().add("Normal", true, true);
worksheet1.getPageSetup().setPrintArea("$C$4:$J$12");
worksheet2.getPageSetup().setPaperSize(PaperSize.A4);
// Add a new view which saves the current page settings of all worksheets.
workbook.getCustomViews().add("PrintSetting", true, false);
worksheet1.getRange("5:6").setHidden(true);
worksheet2.getRange("5:6").setHidden(true);
// Add a new view which saves the current hidden rows/columns, filter settings of all worksheets.
workbook.getCustomViews().add("HiddenRows", false, true);
// Apply PrintSetting custom view
workbook.getCustomViews().get("PrintSetting").show();
// In the exported file, the user can switch between custom views.
workbook.save("CustomViewAdd.xlsx");