电子表格编辑器 与单元格一起工作
Contents
[
Hide
]
目录
- 选择单元格
- 单元格选择回调
- 删除单元格
- WorksheetView.removeCellShiftUp
- WorksheetView.removeCellShiftLeft
- 清除单元格
- WorksheetView.clearCurrentCellFormatting
- WorksheetView.clearCurrentCellContents
- WorksheetView.clearCurrentCell
选择单元格
使用鼠标指针指向单元格。单击单元格以选择它。所选择的单元格将以粗体矩形进行突显。
它是如何工作的?
当用户单击单元格时,事件将由附加到Primefaces组件的JavaScript回调函数处理。
单元格选择回调
var columnId = $(this).find('.ui-cell-editor-input input').attr('data-columnid');
var rowId = $(this).find('.ui-cell-editor-input input').attr('data-rowid');
var clientId = $(this).find('.ui-cell-editor').attr('id');
PF('currentColumnIdValue').jq.val(columnId);
PF('currentRowIdValue').jq.val(rowId);
PF('currentCellClientIdValue').jq.val(clientId);
if ($(this).find('.ui-cell-editor-output div').hasClass('b')) {
PF('boldOptionButton').check();
} else {
PF('boldOptionButton').uncheck();
}
if ($(this).find('.ui-cell-editor-output div').hasClass('i')) {
PF('italicOptionButton').check();
} else {
PF('italicOptionButton').uncheck();
}
if ($(this).find('.ui-cell-editor-output div').hasClass('u')) {
PF('underlineOptionButton').check();
} else {
PF('underlineOptionButton').uncheck();
}
PF('fontOptionSelector').selectValue($(this).find('.ui-cell-editor-output div').css('font-family').slice(1, -1));
PF('fontSizeOptionSelector').selectValue($(this).find('.ui-cell-editor-output div')[0].style.fontSize.replace('pt', ''));
['al', 'ac', 'ar', 'aj'].forEach(function(v) {
if ($(this).find('.ui-cell-editor-output div').hasClass(v)) {
// TODO: save the value to PF('alignOptionSelector');
}
});
PF('currentColumnWidthValue').jq.val($(this).width());
PF('currentRowHeightValue').jq.val($(this).height());
$($this.selectedCell).removeClass('sheet-selected-cell');
$(this).addClass('sheet-selected-cell');
$this.selectedCell = this;
删除单元格
要删除单元格:
- 单击要删除的单元格。
- 切换到 格式 选项卡。
- 单击删除单元格按钮。
- 选择将单元格上移或将单元格左移按钮。
编辑器将删除所选单元格。相邻的单元格将自动水平或垂直移动以调整间距。
它是如何工作的?
将单元格上移和将单元格左移由JSF后端bean WorksheetView 处理。相应方法的源代码如下:
WorksheetView.removeCellShiftUp
public void removeCellShiftUp() {
if (!isLoaded()) {
return;
}
getAsposeWorksheet().getCells().deleteRange(currentRowId, currentColumnId, currentRowId, currentColumnId, com.aspose.cells.ShiftType.UP);
purge();
}
WorksheetView.removeCellShiftLeft
public void removeCellShiftLeft() {
if (!isLoaded()) {
return;
}
getAsposeWorksheet().getCells().deleteRange(currentRowId, currentColumnId, currentRowId, currentColumnId, com.aspose.cells.ShiftType.LEFT);
purge();
}
清除单元格
要清除单元格:
- 单击要清除的单元格。
- 切换到 格式 选项卡。
- 点击 清除单元格 按钮。
- 选择 格式、内容 或 全部 选项。
编辑器将清除所选单元格。
它是如何工作的?
格式、内容 和 全部 由JSF后端bean WorksheetView 处理。相应方法的源代码如下:
WorksheetView.clearCurrentCellFormatting
public void clearCurrentCellFormatting() {
if (!isLoaded()) {
return;
}
getAsposeWorksheet().getCells().clearFormats(currentRowId, currentColumnId, currentRowId, currentColumnId);
reloadCell(currentColumnId, currentRowId);
RequestContext.getCurrentInstance().update(currentCellClientId);
}
WorksheetView.clearCurrentCellContents
public void clearCurrentCellContents() {
if (!isLoaded()) {
return;
}
getAsposeWorksheet().getCells().clearContents(currentRowId, currentColumnId, currentRowId, currentColumnId);
reloadCell(currentColumnId, currentRowId);
RequestContext.getCurrentInstance().update(currentCellClientId);
}
WorksheetView.clearCurrentCell
public void clearCurrentCell() {
if (!isLoaded()) {
return;
}
getAsposeWorksheet().getCells().clearRange(currentRowId, currentColumnId, currentRowId, currentColumnId);
reloadCell(currentColumnId, currentRowId);
RequestContext.getCurrentInstance().update(currentCellClientId);
}