word中合并每行空白单元格出现以下情况,第一行合并了,第二,第三行未合并,第四,第五行合并了,这种情况是什么问题,合并空白单元格是乱的,怎样修改
代码及问题如下
try {const appW = this.webOfficeInstanceW.Application;const doc = await appW.ActiveDocument;const tables = await doc.Tables;const tableCount = await tables.Count; if (tableCount > 0) {for (let tableIndex = 1; tableIndex <= tableCount; tableIndex++) {const table = await tables.Item(tableIndex); // 获取当前表const rows = await table.Rows;const rowCount = await rows.Count; for (let rowIndex = 1; rowIndex <= rowCount; rowIndex++) {
const row = await rows.Item(rowIndex);
const cells = await row.Cells;
const cellCount = await cells.Count;
let emptyCellStart = null;
for (let cellIndex = 1; cellIndex <= cellCount; cellIndex++) {
try {
const cell = await cells.Item(cellIndex);
const cellText = (await cell.Range.Text).trim(); // 获取单元格的文本
if (cellText === '') {
// 当前单元格是空白单元格
if (emptyCellStart === null) {
emptyCellStart = cell; // 记录空白单元格的开始
}
} else {
// 当前单元格有数据
if (emptyCellStart !== null) {
// 合并空白单元格
if (emptyCellStart !== cell.Previous()) {
try {
await emptyCellStart.Merge(cell.Previous());
} catch (mergeError) {
// 处理合并失败的错误
console.error('合并空白单元格失败:', mergeError);
}
}
emptyCellStart = null; // 重置空白单元格开始记录
}
}
// 如果是行末,检查是否还有需要合并的空白单元格
if (cellIndex === cellCount && emptyCellStart !== null) {
// 合并最后一段空白单元格
try {
await emptyCellStart.Merge(cell);
} catch (mergeError) {
console.error('合并最后一段空白单元格失败:', mergeError);
}
}
} catch (error) {
console.error('访问单元格时发生错误:', error);
}
}
}
}
}
} catch (error) {console.error('整体合并过程发生错误:', error);}
00