引用、访问
// 遍历所有工作表
// 注意: workbook.worksheets.forEach 仍然是可以正常运行的, 但是以下的方式更好
workbook.eachSheet(function(worksheet, sheetId) {
// ...
});
// 按 name 提取工作表
const worksheet = workbook.getWorksheet('My Sheet');
// 按 id 提取工作表
const worksheet = workbook.getWorksheet(1);
下方标签颜色 tabColor
worksheet.properties.tabColor = undefined ; //默认undefined
大纲(折叠)outlineLevel
worksheet.properties.outlineLevelCol = 0; //列大纲
worksheet.properties.outlineLevelRow = 0; //行大纲
默认行高、列宽
worksheet.properties.defaultRowHeight = 15; //默认行高
worksheet.properties.defaultColWidth = 10; //默认列宽
行/列数
worksheet.properties.rowCount; //文档的总行数。 等于具有值的最后一行的行号
worksheet.properties.actualRowCount;//具有值的行数的计数。 如果中间文档行为空,则该行将不包括在计数中。
worksheet.properties.columnCount; //文档的总列数。 等于所有行的最大单元数。
worksheet.properties.actualColumnCount;//具有值的列数的计数。
显示/隐藏 state
// 使工作表可见
worksheet.state = 'visible';
// 隐藏工作表
worksheet.state = 'hidden';
打印页面设置 pageSetup
和WPS里面的页面设置是一样的
//页面
worksheet.pageSetup.orientation = 'landscape';// 横向打印,默认是纵向portrait
worksheet.pageSetup.scale = 100; //打印缩放比例,默认100%。 当 fitToPage 为 false 时激活
worksheet.pageSetup.fitToPage = false; //自动适应打印页面
worksheet.pageSetup.paperSize = 9; //纸张尺寸,A3是8,A4是9,A5是10
worksheet.pageSetup.horizontalDpi = -1; //打印质量,水平方向
worksheet.pageSetup.verticalDpi = -1; //打印质量,垂直方向
worksheet.pageSetup.firstPageNumber = 1; //起始页码
//页边距
worksheet.pageSetup.margins = { //左右上下边距,页眉、页脚, 单位为英寸
left: 0.7, right: 0.7,
top: 0.75, bottom: 0.75,
header: 0.3, footer: 0.3
};
worksheet.pageSetup.horizontalCentered = false; //工作表水平居中
worksheet.pageSetup.verticalCentered = false; //工作表垂直居中
//页眉、页脚,目前不支持图片
worksheet.headerFooter.oddHeader = "变量表,见下"; //设置奇数页眉样式
worksheet.headerFooter.oddFooter = "&位置&颜色&字体名称&字体大小&字体样式&页码信息" //设置奇数页脚样式
worksheet.headerFooter.evenHeader = "第 &P 页,共 &N 页" //设置偶数页眉样式,左边例子是在中间显示第2页,共15页这样
worksheet.headerFooter.evenFooter = "&Lexceljs&C&F&RPage &P" //设置偶数页脚样式,左边例子是,偶数页脚左侧为“ Exceljs”。 页脚中心的“ demo.xlsx”。 页脚右侧的“Page 2”
//变量表,结合上面例子自由组合显示
//&位置:&L左侧的页眉页脚;&C中心的页眉页脚;&R右侧的页眉页脚
//&颜色:字体颜色,&K6位哈希值,如&K000000
//&字体名称:&\"font name\",如&\"Aril\"
//&字体大小:如&12
//&字体样式:&B 加粗;&I 斜体;&U 下划线
//&页码信息:&P 当前页面;&N 总页数;&D 当前日期;&T 当前时间;&A 工作表名称;&F 文件名称;
worksheet.headerFooter.differentFirst = false; //是否首页不同
worksheet.headerFooter.differentOddEven = false; //是否奇偶页不同
//工作表
worksheet.pageSetup.printArea = 'A1:G20'; // 设置工作表的打印区域
worksheet.pageSetup.printArea = 'A1:G10&&A11:G20';// 通过使用 `&&` 分隔打印区域来设置多个打印区域
worksheet.pageSetup.printTitlesRow = '1:3';// 在每个打印页面上重复特定的行,顶端标题行
worksheet.pageSetup.printTitlesColumn = 'A:C';// 在每个打印页面上重复特定列,左侧标题列
worksheet.pageSetup.showGridLines = false; //是否显示网格线
worksheet.pageSetup.cellComments = 'none'; //批注,'asDisplayed'是如同在工作表中显示
worksheet.pageSetup.errors = 'displayed'; //错误单元格打印为,'dash'--,'blank'空白,'NA'#N/A,默认是显示值
worksheet.pageSetup.pageOrder = 'downThenOver'; //打印顺序,默认是先列后行;'overThenDown'是先行后列
//其他
worksheet.pageSetup.blackAndWhite = false; //黑白打印,默认是false
视图 views
worksheet.views = [
{
state: 'frozen', //冻结视图,从第2列第3行开始冻结;
xSplit: 2, //xSplit要仅冻结行,请将其设置为 0 或 undefined
ySplit: 3, //ySplit要仅冻结列,请将其设置为 0 或 undefined
showRuler:true, //视图是否显示标尺,默认是false
showRowColHeaders:true, //显示或隐藏行号和列标
showGridLines:true, //显示或隐藏网格线
zoomScale:100, //视图缩放比例
}
];
筛选 autoFilter
// 将自动筛选器设置为从 A1 到 C1
worksheet.autoFilter = 'A1:C1';
//等价于
worksheet.autoFilter = {
from: 'A1',
to: 'C1',
}
// 将自动筛选器设置为从D3到第7行第5列中的单元格
worksheet.autoFilter = {
from: 'D3',
to: {
row: 7,
column: 5
}
}