整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

JavaScript 动态控制表格行和列

JavaScript 动态控制表格行和列

单常用的DOM操作

Table 对象集合(行与列从0开始计数)

cells[] 返回包含表格中所有单元格的一个数组。

rows[] 返回包含表格中所有行的一个数组。

tBodies[] 返回包含表格中所有tbody 的一个数组

针对<table>元素(行与列从0开始计数)

caption 指向<caption>元素(如果存在)

tBodies 指向<tbody>元素的集合

tFoot 指向<tfoot>元素(如果存在)

tHead 指向<thead>元素(如果存在)

rows 表格中所有行的集合

deleteRow(position) 删除指定位置上的行

insertRow(position) 在rows集合中的指定位置插入一个新行

createCaption() 创建<caption>元素并将其放入表格中;//括号内不需要插入值

deleteCaption() 删除<caption>元素 //括号内不需要插入值

针对<tbody>元素(手册上没有)

rows <tbody>中所有行的集合

deleteRows(position) 删除指定位置上的行 浏览器已不支持

insertRows(position) 在rows集合中的指定位置插入一个新行 浏览器已不支持

针对<tr>元素

cells <tr>中所有单元格的集合

deleteCell(position) 删除给定位置上的单元格

insertCell(position) 在cells集合的给定位置上插入一个新的单元格

注意:是否使用tBodies[0]属性, 将会影响所操作的行与列

而浏览器已经删除了deleteRows(position)、insertRows(position)方法, 统一使用deleteRow()、insertRow()方法

获取表格的数据:

实例1:

<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<script>
window.onload=function ()
{
var oTab=document.getElementById('tab1');
//alert(oTab.getElementsByTagName('tbody')[0].getElementsByTagName('tr')[1].getElementsByTagName('td')[1].innerHTML);
alert(oTab.tBodies[0].rows[1].cells[1].innerHTML);
alert(oTab.tBodies[0].rows.length); //返回值为:5 因为<tbody></tbody>标记内有5行
alert(oTab.rows.length); //tBodies[0]可以省略, 但返回值为:6 因为<thead></thead>标记有1行, <tbody></tbody>标记内有5行

};
</script>
</head>
<body>
<table id="tab1" border="1" width="500">
<thead> <!-- 尽管没有<tr>标记, 但浏览器也认定算是一行 -->
<td>ID</td>
<td>姓名</td>
<td>年龄</td>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Blue</td>
<td>27</td>
</tr>
<tr>
<td>2</td>
<td>张三</td>
<td>23</td>
</tr>
<tr>
<td>3</td>
<td>李四</td>
<td>28</td>
</tr>
<tr>
<td>4</td>
<td>王五</td>
<td>25</td>
</tr>
<tr>
<td>5</td>
<td>张伟</td>
<td>24</td>
</tr>
</tbody>
</table>
</body>
</html>


动态添加表格:

<script language="javascript">
window.onload=function(){
var oTr=document.getElementById("member").insertRow(2); //插入一行
var aText=new Array();
aText[0]=document.createTextNode("fresheggs");
aText[1]=document.createTextNode("W610");
aText[2]=document.createTextNode("Nov 5th");
aText[3]=document.createTextNode("Scorpio");
aText[4]=document.createTextNode("1038818");
for(var i=0;i<aText.length;i++){
var oTd=oTr.insertCell(i);
oTd.appendChild(aText[i]);
}
}
</script>

修改单元格内容:

当表格建立了以后,可以通过HTML DOM属性直接对单元格进行引用,相比getElementById()、getElementsByTagName()等方法一个个寻找要方便得多;

oTable.rows[i].cells[j]

<script language="javascript">
window.onload=function(){
var oTable=document.getElementById("member");
oTable.rows[3].cells[4].innerHTML="lost"; //修改单元格内容
}
</script>

动态删除表格:

<script language="javascript">
window.onload=function(){
var oTable=document.getElementById("member");
oTable.deleteRow(2); //删除一行,后面的行号自动补齐
oTable.rows[2].deleteCell(1); //删除一个单元格,后面的也自动补齐
}
</script>

动态删除表格的行

<script language="javascript">
function myDelete(){
var oTable=document.getElementById("member"); //经过测试,这是多余的语句
//删除该行
this.parentNode.parentNode.parentNode.removeChild(this.parentNode.parentNode);
}
window.onload=function(){
var oTable=document.getElementById("member");
var oTd;
//动态添加delete链接
for(var i=1;i<oTable.rows.length;i++){
oTd=oTable.rows[i].insertCell(5);
oTd.innerHTML="<a href='#'>delete</a>";
oTd.firstChild.onclick=myDelete; //添加删除事件
}
}
</script>

删除表格的列(自定义函数)

SS网格布局是一组相交的水平线和垂直线,它定义了网格的行和列(可以理解为表格)。我们可以将网格元素放置在与这些列和行相关的位置上,是二维的布局系统,可以用在布局页面主要区域或小型用户界面元素;

特点:

  • 固定的位置和弹性的轨道的大小
  • 可以根据行号、行名或者标定一个网格区域来摆放网格项
  • 创建额外的轨道来包含内容
  • 控制项目对齐
  • 控制重叠内容

这篇内容主要探讨其中一个特点:可以根据行号、行名或者标定一个网格区域来摆放网格项

网格轨道(grid track)是网格上任意两条相邻线之间的空间。下图显示了一个突出显示的轨道——这是网格中第一行的轨道。


当我们定义网格时,我们先定义的是网格轨道,而不是网格线;网格布局会为我们创建编号的网格线来让我们来摆放每一个网格元素。

* {
            box-sizing: border-box;
        }

        .wrapper {
            border: 2px solid #f76707;
            border-radius: 5px;
            background-color: #fff4e6;
        }

        .wrapper>div {
            border: 2px solid #ffa94d;
            border-radius: 5px;
            background-color: #ffd8a8;
            padding: 1em;
            color: #d9480f;
        }

        .wrapper {
            display: grid;

            /* 3列轨道  列宽自动计算*/
            grid-template-columns: repeat(3, 1fr);

            /* 3行轨道  行高100px*/
            grid-template-rows: repeat(3, 100px);
        }
 <div class="wrapper">
        <div class="box1">One</div>
        <div class="box2">Two</div>
        <div class="box3">Three</div>
        <div class="box4">Four</div>
    </div>

如下图三列三行的网格,行从上往下:线号1、2、3、4, 从下往上:-1、-2、-3、-4;列从左往右:1、2、3、4,从右往左:-1、-2、-3、-4


理解了网格的线,那么怎么基于线来控制元素在网格的位置?

线编号来布局元素

例如控制One元素,想要最左开始占一个列轨道,占3条行轨道


.box1 {
    grid-column-start: 1;
    grid-column-end: 2;
    grid-row-start: 1;
    grid-row-end: 4;
}

One元素,最左开始,占第一列轨道grid-column-start: 1;grid-column-end: 2;,grid-row-start从第1行线号开始,延伸至第4行号结束grid-row-end;Four元素就会自动在行轨道下一个空的单元格,对其他3个元素同样进行控制摆放:

.box1 {
  <*列1号线开始,2号线结束,行1号线开始,4号线结束*>
  grid-column-start: 1;
  grid-column-end: 2;
  grid-row-start: 1;
  grid-row-end: 4;
}
.box2 {
  <*列3号线开始,4号线结束,行1号线开始,3号线结束*>
  grid-column-start: 3;
  grid-column-end: 4;
  grid-row-start: 1;
  grid-row-end: 3;
}
.box3 {
  <*列2号线开始,3号线结束,行1号线开始,2号线结束*>
  grid-column-start: 2;
  grid-column-end: 3;
  grid-row-start: 1;
  grid-row-end: 2;
}
.box4 {
  <*列2号线开始,4号线结束,行3号线开始,4号线结束*>
  grid-column-start: 2;
  grid-column-end: 4;
  grid-row-start: 3;
  grid-row-end: 4;
}


4个元素都各自有设置线编号来实现位置摆放,网格布局的一个优势是:无需给元素周围加上 margin 来阻止文档流自动填补空白,就能实现设计中的留白区域;
grid-column-start,grid-column-end,grid-row-start,grid-row-end CSS代码太多了,还可以简写为 grid-column 和 grid-row,

.box1 {
  grid-column: 1 / 2;
  grid-row: 1 / 4;
}
.box2 {
  grid-column: 3 / 4;
  grid-row: 1 / 3;
}
.box3 {
  grid-column: 2 / 3;
  grid-row: 1 / 2;
}
.box4 {
  grid-column: 2 / 4;
  grid-row: 3 / 4;
}

如果元素只延伸一个轨道的话,可以省略grid-column-endgrid-row-start,只写grid-columngrid-row,元素默认延伸一个轨道

.box1 {
  grid-column-start: 1;
  grid-row-start: 1;
  grid-row-end: 4;
}
.box2 {
  grid-column-start: 3;
  grid-row-start: 1;
  grid-row-end: 3;
}
.box3 {
  grid-column-start: 2;
  grid-row-start: 1;
}
.box4 {
  grid-column-start: 2;
  grid-column-end: 4;
  grid-row-start: 3;
}

属性名和值的简写如下:

.box1 {
  grid-column: 1;
  grid-row: 1 / 4;
}
.box2 {
  grid-column: 3;
  grid-row: 1 / 3;
}
.box3 {
  grid-column: 2;
  grid-row: 1;
}
.box4 {
  grid-column: 2 / 4;
  grid-row: 3;
}

元素摆放效果是一样的:


有没有再进一步简写,来实现相同的元素摆放呢?还可以只定义一个属性grid-area

grid-area属性

使用这个属性前,先看看写法:

.box1 {
  grid-area: 1 / 1 / 4 / 2;
}

怎么理解这个One元素grid-area值呢?顺序看起来有点奇怪,联想对比padding值,元素的上、有、下、左,先看看grid-area值的顺序分别代表啥意思

grid-area: 行起始(inline-start)/ 块起始(block-start)/ 行结束(inline-end)/ 块结束(block-end)

One元素列1号线开始,2号线结束,行1号线开始,4号线结束。值的顺序和padding值不一样,因为与CSS书写模式规范中的书写方向有关系。 书写流关联的4个方向:

  • 块起始(block-start)
  • 块结束(block-end)
  • 行起始(inline-start)
  • 行结束(inline-end) 网页的英文书写是从左至右,从上至下,


  • 当使用grid-area属性定义网格时,结合书写流方向理解,值的顺序就清晰了;

grid-area: grid-row-start / grid-column-start / grid-row-end/ grid-column-end

同样可以简写:

.box1 {
  grid-area: 1 / 1 / 4;
}

反方向记数

也可以从行和块结束线开始反方向计数

.box1 {
  grid-area: -1 / -1 / -4;
}

使元素跨越整条轨道.如果一个元素是占据一行的,拥有从开始计数和从末尾计数这两种定位方法使得使一个元素跨越整个网格变得很方便,例如Four元素

.box4 {
 grid-column: 1 / -1;
}


间距

间距只出现在网格轨道与轨道之间,它们并不会出现在网格容器的四周。 给网格容器添加行间距row-gap

.wrapper {
  ...
  row-gap: 1em;
}


.wrapper {
  ...
  row-gap: 1em;
  column-gap: 1px;
}

行间距row-gap,列间距column-gap:


简写:

.wrapper {
  ...
  gap: 1em / 1px;
}

从基于线定位的角度来说,间距的行为就像是使基线变得特别宽。

关键字span

除了”起始线与结束线“的定位方法,你还可以使用”起始线与跨越轨道数量“的定位方法,

.box1 {
  grid-column: 1;
  grid-row: 1 / span 3;
}
.box2 {
  grid-column: 3;
  grid-row: 1 / span 2;
}
.box3 {
  grid-column: 2;
  grid-row: 1;
}
.box4 {
  grid-column: 2 / span 2;
  grid-row: 3;
}


One元素grid-row: 1 / span 3;理解为从第1号行线开始,跨越3条行轨道,截止在第4号行线
Two元素grid-row: 1 / span 2;理解为从第1号行线开始,跨2条行轨道,截止在第3号行线
Four元素grid-column: 2 / span 2;理解为从第1号列线开始,跨2条列轨道,截止在第4号列线

从确定的线编号开始,跨越指定数量的行轨道;

例1
.box1 {
  grid-column-start: 1;
  grid-row-start: 1;
  grid-row-end: span 3;
}
例2
.box1 {
  grid-column-start: 1;
  grid-row-start: span 3;
  grid-row-end: 4;
}

例1、例2 两个都是会创建相同的网格,One元素在1列轨道,占3条行轨道;
例1:元素就会从 1 号线开始,跨越 3 条线,到 4 号线结束
例2:元素会从指定的线往上跨越 3 条线;

例3
.box1 {
  grid-column-start: 1;
  grid-row-start: span 3;
  grid-row-end: span 3;
}

例3:与例2 相同的行为;
当开始和结束都使用了关键字时,只有
grid-row-start起效;

例4
.box1 {
  grid-column-start: 1;
  grid-row-start: span 3;
  grid-row-end: span 2;
}

例4


例5
.box1 {
  grid-column-start: 1;
  grid-row-start: span 2;
  grid-row-end: span 3;
}


例6
.box1 {
  grid-column-start: 1;
  grid-row-start: span 1;
  grid-row-end: span 3;
}

例6


总结

认识网格基于线来摆放元素的使用,属性grid-columngrid-row的写法,以及元素根据行号,多种方式实现跨行跨列的布局;

. 对不同类型的单元格定义不同的输入法

在一个工作表中,通常既有数字,又有字母和汉字。于是,我们在编辑不同类型的单元格时,需要不断地切换中英文输入法,这不但降低了编辑效率,而且让人觉得麻烦。下面的方法能让Excel针对不同类型的单元格,实现输入法的自动切换: 1.选择需要输入汉字的单元格区域,单击“数据→有效性”命令,在“数据有效性”对话框中选择“输入法模式”选项卡,在“模式”下拉列表中选择“打开”,单击“确定”按钮(); 2.同样,选择需要输入字母或数字的单元格区域,单击“数据→有效性”命令,选择“输入法模式”选项卡,在“模式”下拉列表中选择“关闭(英文模式)”,单击“确定”按钮。 此后,当插入点处于不同的单元格时,Excel会根据上述设置,自动在中英文输入法间进行切换,从而提高了输入效率。

2. 在Excel中快速插入Word表格

1.打开Word表格所在的文件; 2.打开要处理Word表格的Excel文件,并调整好两窗口的位置,以便看见表格和要插入表格的区域; 3.选中Word中的表格; 4.按住鼠标左键,将表格拖到Excel窗口中,松开鼠标左键将表格放在需要的位置即可。

3. 设置单元格字体

选定要格式化的全部单元格或单个单元格中的指定文本,单击“格式→单元格”命令,在“字体”框中,单击所需字体,在“字号”框中,单击所需的字体大小即可()。 另外,如果某一单元格中的少量数据不可见,那么可减小这些数据字体的大小,而不用调整列的宽度,以显示单元格中所有数据。

4. 在一个单元格中显示多行文字

选定要设置格式的单元格,单击“格式→单元格”命令,在打开的单元格格式对话框中选中“对齐”选项卡下的“自动换行”复选框()即可。

5. 将网页上的数据引入到Excel表格

网页上表格形式的信息可以直接从浏览器上复制到Excel中,而且效果极佳。你可以选中信息并复制它,然后将信息粘贴到Excel中,或者可以选中信息并将其拖放到Excel中。使用这种“拖放”方法传输和处理任何基于网络的表格数据会显得非常简单并且异常快捷。在Excel 2002中,你可以像使用Excel工作表那样打开Html文件,并获得同样的功能、格式及编辑状态。

6. 取消超级链接

下面介绍两个方法,让你方便地取消Excel中的超级链接。 1.如果正在输入URL或E-mail地址,在输入完毕后敲回车键,刚才输入的内容会变成蓝色,此时单击智能标记选择“撤消超链接”命令即可。 2.如果在工作表中已存在超级链接,右键单击单元格,在快捷菜单中选择“取消超链接”命令即可。

7. 编辑单元格内容

双击要键入数据的单元格,直接输入数据或对其中内容进行修改,完成后若要确认所做的改动,按Enter键即可;若取消所做的改动,按Esc键。另外,你还可以单击单元格,再单击工作表上边的编辑栏,你就可以在编辑栏中编辑单元格中的数据了。

8. 设置单元格边框

选择要添加边框的所有单元格,单击“格式→单元格”命令,选择“边框”选项卡(),然后在“样式”中选中所需的线型样式,同时可以在“颜色”中指定不同的颜色,再单击“外边框”按钮,最后单击“确定”按钮即可。 要设置含有旋转文本的选定单元格的样式,单击“格式→单元格”命令,选择“边框”选项卡,然后使用“预置”下的“外边框” 和“内部”按钮,边框应用于单元格的边界,它会和文本旋转同样的角度。

9. 设置单元格文本对齐方式

选择要设置文本对齐的单元格,单击“格式→单元格”命令,单击“对齐”标签,然后根据需要设置文本对齐方式即可。

10. 输入公式

单击将要在其中输入公式的单元格,然后键入=(等号),若单击了“编辑公式”按钮或“粘贴函数”按钮,Excel将插入一个等号,接着输入公式内容,按Enter键。

11. 输入人名时使用“分散对齐”(微软Office技巧大赛获奖作品)

在Excel表格中输入人名时为了美观,我们一般要在两个字的人名中间空出一个字的间距。按空格键是一个办法,但是我们这里有更好的方法。我们以一列为例,将名单输入后,选中该列,点击“格式→单元格→对齐”,在“水平对齐”中选择“分散对齐”,最后将列宽调整到最合适的宽度,整齐美观的名单就做好了。

12. 隐藏单元格中的所有值(微软Office技巧大赛获奖作品)

有时候,我们需要将单元格中所有值隐藏起来,这时你可以选择包含要隐藏值的单元格。单击“格式→单元格”命令,选择“数字”选项卡,在“分类”列表中选择“自定义”,然后将“类型”框中已有的代码删除,键入“;;;”(3个分号)即可()。 提示:你也许奇怪为什么会这样,其实单元格数字的自定义格式是由正数、负数、零和文本4个部分组成。这4个部分用3个分号分隔,哪个部分空,相应的内容就不会在单元格中显示。现在都空了,当然就都不显示了。

13. 恢复隐藏列

通常,选择隐藏列两边列上的单元格,然后选择“格式→列→取消隐藏”菜单项可以恢复隐藏的列。其实恢复隐藏列还有一种快捷方法:将鼠标指针放置在列标的分割线上,例如,若隐藏B列,则将鼠标指针放置在列A和列C的分割线上,轻轻地向右移动鼠标指针,直到鼠标指针从两边有箭头的单竖变为两边有箭头的双竖杠,此时拖动鼠标就可以打开隐藏的列。

14. 快速隐藏/显示选中单元格所在行和列(微软Office技巧大赛获奖作品)

在Excel中隐藏行或列, 通常可以通过格式菜单中的行或列选项中的隐藏来实现, 或者是选中行号或列标后通过鼠标右键的快捷菜单来完成, 对于分散的单元格区域, 可以这样快速隐藏: 快速隐藏选中单元格所在行:“Ctrl + 9” 快速隐藏选中单元格所在列:“Ctrl + 0” 取消行隐藏:“Ctrl+Shift+9” 取消行隐藏:“Ctrl+Shift+0”

15. 彻底隐藏单元格

在很多时候我们会将一些行或列的内容隐藏起来不让别人查看,但是如果用户复制包含隐藏行或列的区域,这样隐藏的内容就会在粘贴的新的工作表中出现,降低了隐藏效果。如果要想避免这种情况,我们可以先选中要复制的区域,然后单击“编辑→定位”命令,在打开的对话框中点击“定位条件”按钮,在定位条件对话框中选中“可见单元格”选项),这样就可以避免上面所发生的情况了。

16. 用下拉列表快速输入数据

如果某些单元格区域中要输入的数据很有规律,如学历(小学、初中、高中、中专、大专、本科、硕士、博士)、职称(技术员、助理工程师、工程师、高级工程师)等,你希望减少手工录入的工作量,这时我们就可以设置下拉列表实现选择输入。具体方法为: 选取需要设置下拉列表的单元格区域,单击“数据→有效性”命令,从“数据有效性”对话框中选择“设置”选项卡,在“允许”下拉列表中选择“序列”,在“来源”框中输入我们设置下拉列表所需的数据序列,如“技术员、助理工程师、工程师、高级工程师”,并确保复选框“提供下拉箭头”被选中,单击“确定”按钮即可()。这样在输入数据的时候,就可以单击单元格右侧的下拉箭头选择输入数据,从而加快了输入速度。

17. 快速输入自定义短语

使用该功能可以把经常使用的文字定义为一条短语,当输入该条短语时,“自动更正”便会将它更换成所定义的文字。定义“自动更正”项目的方法如下:单击“工具→自动更正选项”命令,在弹出的“自动更正”对话框中的“替换”框中键入短语,如“电脑报”,在“替换为”框中键入要替换的内容,如“电脑报编辑部”,单击“添加”按钮,将该项目添加到项目列表中,单击“确定”退出。以后只要输入“电脑报”,则“电脑报编辑部”这个短语就会输到表格中。

18. 设置单元格背景色

选择要设置背景色的单元格,单击“格式→单元格”命令,然后单击“图案”选项卡,要设置带有图案的背景色,请在“颜色”框中单击选中一种颜色,然后单击“图案”下拉菜单,选择所需的图案样式和颜色即可。

19. 快速在多个单元格中输入相同公式

先选定一个区域,再键入公式,然后按“Ctrl+Enter”组合键,可以在区域内的所有单元格中输入同一公式。

20. 同时在多个单元格中输入相同内容

选定需要输入数据的单元格,单元格可以是相邻的,也可以是不相邻的,然后键入相应数据,按“Ctrl+Enter”键即可。

21. 快速输入日期和时间

当前日期 选取一个单元格,并按“Ctrl+;” 当前时间 选取一个单元格,并按“Ctrl+Shift+;” 当前日期和时间 选取一个单元格,并按“Ctrl+;”,然后按空格键,最后按“Ctrl+Shift+;” 注意:当你使用这个技巧插入日期和时间时,所插入的信息是静态的。要想自动更新信息,你必须使用TODAY和NOW函数。

22. 将复制的单元格安全地插入到现有单元格之间

如果你想要将一块复制的单元格插入到其他行或列之间——而不是覆盖这些行或列——可以通过下面这个简单的操作来完成: 选择你将要复制的单元格,单击编辑菜单上的复制,在工作表上选择将要放置被复制单元格的区域,然后按下“Ctrl+Shift+ +”,在插入对话框中单击周围单元格的转换方向,然后单击“确定”。现在,复制的单元格将插入到合适的位置,而你无需担心它们覆盖原有的信息。

23. 在Excel中不丢掉列标题的显示

你是否希望不论将Excel电子表格滚动到哪里都能够看到列标题?这里将介绍一种使列标题总保持可见的方法: 选择紧邻列标题的下一行,单击“窗口→冻结窗格”命令,被冻结的列标题不会滚动,而且在你移动工作簿的其他部分时,列标题会保持可见。

24. 查看与日期等效的序列数的值

Excel将所有的日期都作为序列数对待,要查看与日期等效的序列数的值,通常需要将包含日期的单元格格式更改为“常规”格式。现在有一种快捷方法:选择包含日期的单元格,然后单击“格式”工具栏上的“千位分隔样式”按钮(即逗号形状的按钮),Excel将会对选择的单元格应用千位分隔样式显示序列数。

25. 快速复制单元格内容

选中下面的单元格,按“Ctrl+'(为英文状态下的单引号)”组合键,即可将上一单元格的内容快速复制下来。

26. 使用自定义序列排序(微软Office技巧大赛获奖作品)

在Excel排序对话框中选择主要关键字后单击选项,可以选择自定义序列作为排序次序,使排序方便快捷且更易于控制。顺便说一下,排序可以选择按列或按行,如果以前排行的顺序都是选择性粘贴转置,排完序后再转置。 自定义排序只应用于“主要关键字”框中的特定列。在“次要关键字”框中无法使用自定义排序。若要用自定义排序对多个数据列排序,则可以逐列进行。例如,要根据列A或列B进行排序,可先根据列B排序,然后通过“排序选项”对话框确定自定义排序次序,下一步就是根据列A排序。

27. 快速格式化Excel单元格

如果想要快速访问Excel中的单元格格式对话框,以更改诸如字样、对齐方式或边框等,请先选择需要格式化的单元格然后按下“Ctrl+1”组合键,就可以打开“单元格格式对话框”。

28. 固定显示某列

不少人在工作中用Excel做工资表时,由于工资表项目很多,往往一行信息不能同时显示在屏幕上,给日常的查询和变动工资输入带来一定困难。用下面的方法就可以解决这个问题:首先在表格中单击要冻结列的右边一列,然后单击“窗口→冻结窗格”命令即可。如果你想撤消此功能,点击“窗口”菜单,原来“冻结窗口”命令变成“撤消窗口冻结”,单击它即可。

29. 在Excel中快速编辑单元格

如果你希望使用键盘做每一件事,在Excel电子表格中快速编辑数据将很困难,因为你会发现自己想对单元格做改动时,经常需要用到鼠标。其实你可以使用一个快捷键——F2,这样你的手就不用离开键盘了。下面将教你怎么做: 利用箭头键选择要编辑的单元格,按下F2,编辑单元格内容,编辑完成后,按Enter键确认所做改动,或者按ESC键取消改动。 注意:这个技巧在Excel编辑超级链接时非常方便,因为如果当你使用鼠标点击单元格的超级链接时将自动打开Internet浏览器窗口,使用键盘可以很容易地编辑超级链接。

30. 使用自动填充快速复制公式和格式

想用一种无需输入数字的简单方法在Excel中填充数字吗?利用自动填充命令,你可以快速向相邻的单元格复制数据、公式或格式。以下将说明具体的操作方法: 选择希望复制的单元格,将光标移到选中单元格的右下角,光标将变成一个黑色的+号,点击并按住鼠标右键不放,将光标拖过将要填充的单元格,松开鼠标右键,鼠标右击,在出现的快捷菜单中单击“以序列方式填充”,这一技巧可以在创建电子表格时节省大量时间。

31. 为单元格添加批注

Excel为方便用户及时记录,提供了添加批注的功能,当你给单元格进行注释后,只需将鼠标停留在单元格上,就可看到相应的批注。添加批注的方法是:单击要添加批注的单元格,单击“插入→批注”命令,在弹出的批注框中键入你要批注的文本,输好后单击批注框外部的工作表区域即可。在添加批注之后单元格的右上角会出现一个小红点,提示该单元格已被添加了批注。将鼠标移到该单元格上就可以显示批注。