HTML table跨行跨列
table读取
读取时,表格行数与列数都已经确定,且每行单元格个数相同,每列单元格个数也相同。
跨行跨列时,相应的单元格就要多占行单元格的位置和列单元格的位置。
- 跨行
跨多少行,相应的该单元格就要多占据行数-1个单元格,每跨一行,该单元格下一行就减少一个单元格。跨行时下一行单元格数减少。
<table border="1">
<tr>
<td rowspan="2">跨2行,下一行该列少1个单元格</td>
<td>未跨行</td>
</tr>
<tr>
<td>未跨行,但该行只有一个单元格</td>
</tr>
</table>
跨2行,下一行该列少1个单元格 | 未跨行 |
未跨行 |
- 跨列
跨多少列,相应的该单元格就要多占据列数-1个单元格,每跨一列,该单元格下一列就减少一个单元格。跨列时本行单元格数减少。
<table border="1">
<tr>
<td colspan="2">跨2列,该行少1个单元格</td>
</tr>
<tr>
<td>未跨列</td>
<td>未跨列</td>
</tr>
</table>
跨2列,该行少一个单元格 | |
未跨列 | 未跨列 |
跨行跨列处理
解决方案为:
- 使用占位符先进行占位,然后再合并占位符
- 先合并跨行
- 再合并跨列
#算法描述
#1.声明一个二维数组(行取表格行数,列取最所有行中最大的列数)
#2.依次将表格的值写入二维数组,遇到跨列数为i,则往该行i-1列写入“||”;遇到跨列数为j,则往该该列j-1行写入“|”;
#3.若单元格的值为“||”或“|”,则跳过;
#4.二维数组赋值完成后进行合并,遇到“|”,和当前行前一列合并;遇到“||”,和当前列前一行合并