如何在 Java 中读取 Excel 文件(教程)
您正在处理电子表格,发现行号从 4 跳到 9。行 5、6、7 和 8 丢失。 数据仍然存在,只是被隐藏了。 了解如何在 Excel 中显示行是节省大量时间的技能之一,尤其是当处理由其他人创建的文件时。 最快的路径:选择隐藏行周围的行,点击行 4,按住 Shift,然后点击行 9,再右键点击选择 取消隐藏。 隐藏的行立即重新出现。
这涵盖了最常见的情况。 当隐藏的行位于工作表的最顶部时,当整个工作表中的隐藏行零散地分布时,或者由于筛选器或工作表保护,通常的方法不起作用时,情况会变得更有趣。 每种情况都需要不同的方法。
本指南涵盖了在 Excel 中显示行的每种可靠方法:选择周围的行并右键点击、使用"首页"选项卡功能区、使用名字框到达隐藏的顶部行、使用全选三角形一次显示所有行、使用键盘快捷键、直接调整行高、处理被筛选的行以及使用 Visual Basic 进行自动化。 当您需要显示列时,同样的原则适用,并且在故障排除区域中简要介绍了隐藏的列部分。 故障排除部分处理即使尽力而为行仍保持隐藏的情况。 需要以编程方式显示行的开发者将在文章末尾找到简短的部分,展示如何使用 IronXL 在 C# 中处理 row.Hidden = false。
如何识别隐藏的行
在显示任何内容之前,您需要首先找到隐藏的行。 隐藏的行可以通过两种方式识别。 首先,查看电子表格左侧行号中的空隙。 如果号码从 4 跳到 9,行 5 到 8 是隐藏的。 其次,在行号之间的行标题区域寻找双线或更粗的边框线。 双线是 Microsoft Excel 的视觉指标,表示在这两个可见行号之间有一个或多个行被隐藏。 当行包含隐藏数据,例如工资数字,个人信息,或中间计算步骤时,这些相同的视觉提示适用。
在下面的屏幕截图中,行号从 4 跳到 9,在行 4 和行 9 之间的行标题中可以看到一条淡淡的双线,确认行 5、6、7 和 8 是隐藏的。

添加图片 alt 文本
方法 1:右键显示特定行(最快)
这是大多数人使用的方法,也是当您大致知道隐藏行的位置时在 Excel 中显示特定行的最快路径。
-
点击隐藏行 上方 的行号。 例如,如果行 5 到 8 是隐藏的,点击行标题中的行号 4 以选择整个行。
-
按住 Shift 并点击隐藏行 下方 的行号。 点击行号 9 以扩展您的选择,包括隐藏行所在的间隙。
- 在所选行号的任意位置右键单击。
- 从上下文菜单中选择 取消隐藏。
行 5、6、7 和 8 在行 4 和 9 之间重新出现。 Excel 将它们恢复到原始的行高和内容。 在下面的屏幕截图中,行 4 和 9 被选中为一个范围,右键菜单中显示出强调的取消隐藏选项。

添加图片 alt 文本

添加图片 alt 文本
为什么要选择周围两行: Excel 需要知道要显示那些隐藏行。 仅选择上面的行或仅选择下面的行是不够的。 您必须选择一个跨越隐藏部分的范围,以便 Excel 确定哪些隐藏行被包括在选择中。
多个隐藏行组: 如果您的电子表格在不同位置有多个隐藏行组,您需要使用此方法分别为每个组选择取消隐藏。 如果您想一次选择显示同一工作表中不同部分的多个隐藏行,请在点击非相邻行号时按住ctrl键,然后右键点击并选择取消隐藏,以同时显示所有选定的隐藏行。 对于非常大的电子表格,双击行标题之间的双线是另一种快速的方法,一次扩展一个隐藏的行组。 使用方法 4 在整个工作表中一次步骤显示所有行。
方法 2:使用"首页"选项卡显示行
如果您喜欢通过 Excel 功能区而不是右键单击工作,"首页"选项卡可以让您访问相同的取消隐藏功能。
- 以与方法 1 相同的方式选择隐藏行的周围行。 点击行 4,按住 Shift,然后点击行 9。
-
转到功能区中的主页选项卡。
-
在 单元格组 中,点击 格式 按钮下拉列表。
- 在"可见性"部分,悬停在 隐藏与取消隐藏 上。
- 从子菜单中点击 取消隐藏行。
隐藏的行重新出现。 如果您已经在"首页"选项卡中工作,并且不想右键单击,格式菜单路径特别有用。 在下面的屏幕截图中,格式下拉已打开,隐藏与取消隐藏子菜单可见,并且"取消隐藏行"已突出显示。

添加图片 alt 文本
方法 3:使用名字框显示顶部行
如果您的工作表中第 1 行或前几行被隐藏,右键方法无法很好地工作,因为上面没有行可以点击。 这是解决问题的简单技巧。 第一行被隐藏也是行消失而没有明显解释的最常见时间,因为工作表上方没有任何提示它们缺失。
- 点击名字框,位于电子表格左上方列 A 上方的小单元地址框,显示当前单元地址,如 A1。
-
在名字框中输入 A1,然后按 Enter。 即使第 1 行被隐藏且在屏幕上不可见,也会直接导航到单元格 A1。
- 转到 首页 > 格式 > 隐藏与取消隐藏 > 取消隐藏行,或按 Ctrl + Shift + 9。
第 1 行重新出现。 名字框方法适用于任何隐藏的顶部行,因为它允许您选择这些行中的单元而无需点击行标题。 在下面的屏幕截图中,"A1"被键入在名字框中,光标在其中处于激活状态,电子表格表明第 1 行在行标题中不可见。

添加图片 alt 文本
按编号显示特定隐藏行: 相同的名字框技术适用于任何隐藏行。 如果第 12 行被隐藏,在名字框中输入 A12 并按 Enter 来选择它,然后使用格式 > 取消隐藏行来显示它。 您还可以键入范围,例如 A5:A8,在取消隐藏之前一次选择所有四个隐藏行。
方法 4:一次性显示所有行
当您需要在一个步骤中显示整个工作表中的所有隐藏行时,使用全选三角形而不是逐个寻找每个隐藏行组。
-
点击小三角形,位于电子表格左上角,行号和列字母的交叉处。 这会选择整个表格。
- 右键点击行标题中的任何行号。
- 从上下文菜单中选择 取消隐藏。
Excel 表格中所有隐藏的行一次变得可见。 这会显示每组隐藏的行,无论它们在哪里或它们有多少。 在下面的屏幕截图中,左上角的全选三角形已被突出显示,整个表格被选中(通过横跨所有单元的蓝色高亮显示),并且右键菜单中显示取消隐藏选项。

添加图片 alt 文本
全选的替代键盘路径: 代替点击三角形,可以按 Ctrl + A 来选择电子表格中的所有单元,然后右键点击任何行号并选择取消隐藏。这是点击全选三角形的键盘快捷键等效项,并产生相同的结果:表格中的所有隐藏行同时显现。 有关相关的行和列可见性控制,请参见C#中的IronXL 自动调整行和列大小指南。
方法 5:键盘快捷键取消隐藏行
Excel 有一个直接的键盘快捷键来取消隐藏行,而不打开任何菜单或对话框。
- 选择隐藏行周围的行。 例如,点击行 4,按住 Shift,然后点击行 9。
-
在 Windows 上按 Ctrl + Shift + 9。
- 在 Mac 上,按 Command + Shift + 9。
您选择之间隐藏的行立即重新出现。 要仅使用键盘在整个电子表格中取消隐藏所有行,首先按 Ctrl + A 选择所有单元,然后按 Ctrl + Shift + 9。 这是最快的方式,揭示所有隐藏的行,而无需完全使用鼠标。
按 Ctrl + Shift + 9 与 Ctrl + 9: Ctrl + 9 是隐藏快捷键。 按下它会隐藏选中的行。 Ctrl + Shift + 9 是取消隐藏的快捷键。 这两个很容易混淆,所以如果您不小心按了 Ctrl + 9 而行消失了,立即按 Ctrl + Shift + 9 以将其找回。
方法 6:通过调整行高显示行
有时行看似隐藏但实际上是可见的,只是行高为零或接近零,而不是通过标准的隐藏命令被隐藏。 在这种情况下,右键菜单中的取消隐藏选项可能完全不起作用,您需要直接设置行高代替。
- 选择看似消失的行。 如果第 5 到第 8 行看似隐藏,选择范围,点击第 4 行,按住 Shift,然后点击第 9 行,以包含零高度行在选择中。
-
转到 首页 > 格式 > 行高 在单元格组中。
- 在行高对话框中,输入一个标准的行高,例如 15 并点击 确定。
行变得可见,达到指定的高度。 对于不响应常规取消隐藏命令的持久隐藏行,设置标准行高是可靠的修复。 在下面的屏幕截图中,行高对话框显示输入的值为 15,以恢复高度为零的隐藏行。

添加图片 alt 文本
为什么会发生这种情况: Excel 中的隐藏行可能因为意外调整行高而不可见,导致高度为零。 这可能发生当用户错误地将行边框拖得太靠上,或者当宏或导入过程将行高设置为零而不是使用隐藏命令。 右键菜单中的取消隐藏选项和键盘快捷键仅对使用隐藏命令隐藏的行起作用,而不是对高度为零的行起作用。
方法 7:揭示被筛选隐藏的行
过滤行与隐藏行不同,尽管它们在屏幕上看起来相同。 当过滤器处于活动状态时,Excel会隐藏不符合过滤器条件的行。 这些行不会响应取消隐藏命令,因为它们在技术上不是隐藏的。
单击数据范围内的任意单元格。
-
转到Excel功能区中的数据选项卡。
- 在排序和筛选组中单击清除以删除所有活动的过滤器。
所有被过滤的行重新出现。 您也可以前往首页 > 排序和筛选 > 清除来从首页选项卡中清除过滤器。 要检查过滤器是否导致行丢失,请寻找表头行上的过滤器下拉箭头,并检查顶部的列字母指示符是否显示漏斗图标,这表示该列上有活动过滤器。

添加图片 alt 文本
仅选择可见单元格:处理过滤数据时,使用Ctrl + Shift + End,然后Alt + ;(Windows)或Cmd + Shift + Z(Mac)来仅选择可见单元格。 这可以防止意外复制或格式化过滤器下方的隐藏行。 在您只想粘贴或修改当前显示的行时,选择可见单元格的快捷键至关重要。
方法8:使用Visual Basic(VBA)取消隐藏行
对于包含许多组隐藏行的大型电子表格,或者在多个工作表中自动化该过程,Visual Basic宏让您无需任何手动交互即可取消隐藏行。
这是一个简单的VBA宏,用于在活动工作表中取消隐藏所有行和列:
Sub UnhideAllRows()
Rows.EntireRow.Hidden = False
End Sub
Sub UnhideAllRows()
Rows.EntireRow.Hidden = False
End Sub
Sub UnhideAllRows()
Rows.EntireRow.Hidden = False
End Sub
要取消隐藏工作簿中的每个工作表上的所有行:
Sub UnhideAllRowsAllSheets()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
ws.Rows.EntireRow.Hidden = False
Next ws
End Sub
Sub UnhideAllRowsAllSheets()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
ws.Rows.EntireRow.Hidden = False
Next ws
End Sub
Option Strict On
Sub UnhideAllRowsAllSheets()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
ws.Rows.EntireRow.Hidden = False
Next ws
End Sub
要取消隐藏特定行,例如第5到第8行:
Sub UnhideSpecificRows()
Rows("5:8").Hidden = False
End Sub
Sub UnhideSpecificRows()
Rows("5:8").Hidden = False
End Sub
Sub UnhideSpecificRows()
Rows("5:8").Hidden = False
End Sub
按Alt + F11打开Visual Basic编辑器,转到插入 > 模块,粘贴代码,然后按F5运行。 在下面的截图中,VBA编辑器窗口显示了UnhideAllRows宏,代码在模块窗格中可见。
审阅选项卡和工作簿保护:如果VBA宏已运行但行仍然隐藏,则可能是工作表受到了保护。 出于安全原因,保护设置可以阻止任何行可见性更改,包括那些通过VBA代码进行的更改。 前往审阅选项卡 > 取消保护工作表(可能需要密码),然后再次运行宏。
常见问题及故障排除
取消隐藏在上下文菜单中显示为灰色
工作表受到了保护。 转到审阅 > 取消工作表保护并重试。 如果需要密码,您需要从设置保护的人那里获取。
单击取消隐藏后行仍然隐藏
这些行可能是因为行高为零而不是通过隐藏命令隐藏的。 选择周围的行,转到首页 > 格式 > 行高,输入15,然后单击确定以恢复它们。
行1不可见且名称框技巧不起作用
确保在名称框中输入A1,然后按Enter,再尝试取消隐藏。按Enter是实际导航到隐藏单元格的关键步骤。 还要确认工作表没有受到保护,这会阻止取消隐藏操作。
行重新出现但数据看起来不同
如果您期望特定的行,但数据不匹配,您可能将取消隐藏应用于错误的一组隐藏行。 取消隐藏后仔细检查行号,以确认揭示了哪些行。 在某些情况下,揭示的行中的隐藏单元格可能会显示格式问题,例如如果在隐藏前仅将原始格式应用于可见行,则会出现颜色或边框不匹配的问题。
隐藏列与隐藏行一起
同时处理隐藏列时,取消隐藏列的过程遵循相同的逻辑。 选择间隙两侧的列字母,右键单击,然后选择取消隐藏。要一次性显示工作表中所有隐藏的列,请单击选择全部三角形,然后右键单击任何列字母并选择取消隐藏。
过滤器隐藏行,取消隐藏不起作用
转到数据 > 清除以删除所有活动的过滤器。 上下文菜单中的取消隐藏选项对过滤行无效果,因为它们由过滤器控制,而不是行隐藏属性控制。
分组行有一个折叠按钮隐藏它们
如果行是通过分组功能(数据 > 分组)隐藏的,它们是由屏幕左侧的轮廓级别按钮控制的,而不是标准隐藏命令。 点击分组行旁边的+按钮展开它们,或转到数据 > 取消分组以完全取消分组。
选择正确的方法:快速参考
| 目标 | 要做什么 | |---|---| | 取消隐藏特定隐藏行 | 选择上下行,右键单击,取消隐藏 | | 使用功能区取消隐藏行 | 首页 > 格式 > 隐藏和取消隐藏 > 取消隐藏行 | | 取消隐藏行1或顶行 | 在名称框中输入A1,按Enter,然后按Ctrl + Shift + 9 | | 一次性取消隐藏所有行 | 单击选择全部三角形,右键单击任何行号,取消隐藏 | | 使用键盘取消隐藏行 | 选择周围的行,按Ctrl + Shift + 9 | | 修复因高度为零而隐藏的行 | 首页 > 格式 > 行高 > 输入15 > 确定 | | 揭示因过滤器隐藏的行 | 数据选项卡 > 排序和筛选组中的清除 | | 跨工作表自动取消隐藏 | VBA: ws.Rows.EntireRow.Hidden = False |
对于开发人员:使用IronXL以编程方式取消隐藏行
如果您的应用程序需要自动处理Excel文件,通常它需要在数据管道、审核工具或报表生成器中揭示隐藏行。 IronXL允许您直接在C#中设置行.Hidden = false,而无需在服务器上安装Microsoft Office。 有关完整指南,请参阅IronXL取消隐藏行和列指南。
如下是如何在工作表中取消隐藏所有行和取消隐藏特定行:
using IronXL;
WorkBook workBook = WorkBook.Load("employee_data.xlsx");
WorkSheet sheet = workBook.DefaultWorkSheet;
// Unhide all rows in the worksheet
foreach (var row in sheet.Rows)
{
row.Hidden = false;
}
// Unhide specific rows by index (zero-based: row 5 in Excel = index 4)
sheet.GetRow(4).Hidden = false; // Row 5
sheet.GetRow(5).Hidden = false; // Row 6
sheet.GetRow(6).Hidden = false; // Row 7
sheet.GetRow(7).Hidden = false; // Row 8
// Restore row height to standard if it was set to zero
sheet.GetRow(4).Height = 300; // Height in twips (300 = ~15pt standard height)
workBook.SaveAs("employee_data_restored.xlsx");
using IronXL;
WorkBook workBook = WorkBook.Load("employee_data.xlsx");
WorkSheet sheet = workBook.DefaultWorkSheet;
// Unhide all rows in the worksheet
foreach (var row in sheet.Rows)
{
row.Hidden = false;
}
// Unhide specific rows by index (zero-based: row 5 in Excel = index 4)
sheet.GetRow(4).Hidden = false; // Row 5
sheet.GetRow(5).Hidden = false; // Row 6
sheet.GetRow(6).Hidden = false; // Row 7
sheet.GetRow(7).Hidden = false; // Row 8
// Restore row height to standard if it was set to zero
sheet.GetRow(4).Height = 300; // Height in twips (300 = ~15pt standard height)
workBook.SaveAs("employee_data_restored.xlsx");
Imports IronXL
Dim workBook As WorkBook = WorkBook.Load("employee_data.xlsx")
Dim sheet As WorkSheet = workBook.DefaultWorkSheet
' Unhide all rows in the worksheet
For Each row In sheet.Rows
row.Hidden = False
Next
' Unhide specific rows by index (zero-based: row 5 in Excel = index 4)
sheet.GetRow(4).Hidden = False ' Row 5
sheet.GetRow(5).Hidden = False ' Row 6
sheet.GetRow(6).Hidden = False ' Row 7
sheet.GetRow(7).Hidden = False ' Row 8
' Restore row height to standard if it was set to zero
sheet.GetRow(4).Height = 300 ' Height in twips (300 = ~15pt standard height)
workBook.SaveAs("employee_data_restored.xlsx")
每行的Hidden属性直接映射到Excel隐藏和取消隐藏命令控制的同一隐藏标记。 设置为false后,在文件打开时,行会立即显示。 对于通过设置行高为零而不是使用隐藏命令隐藏的行,设置Height属性可以将它们恢复到可见大小。
IronXL还处理Excel数据的读取和写入、自动调整行和列大小,以及处理大型工作簿而无需在服务器上安装Microsoft Office。
入门:通过Install-Package IronXL.Excel从NuGet安装并开始您的免费试用,以便在您的环境中测试。 IronXL在.NET 6+上运行,并与Windows、Linux、macOS、Docker、Azure和AWS兼容。
总结
一旦知道哪种方法适合该情况,取消隐藏Excel中的行就很简单了。 对于特定隐藏行,选择上下行并右键单击是最快的路径。 要同时揭示整个工作表中的所有隐藏行,请单击全部选择三角形并选择取消隐藏,一步到位显示所有内容。如果行位于工作表的最顶部且常规方法不起作用,使用名称框输入A1并按Enter的技巧可以在不需要滚动的情况下带您到达那里。
请记住,过滤行和行高为零的行看起来与真正隐藏的行相同,但需要不同的修复。 通过数据选项卡清除过滤器, 将行高为零的行手动设置回标准值(如15)即可修复。从Excel中提取数据到Power BI或其他报告工具时,如输出中缺少行,检查源Excel表中是否有隐藏行或活动过滤器,然后才对数据连接本身进行故障排除。 对于构建自动处理Excel文件工具的开发人员,IronXL的行.Hidden = false在代码中处理整个事情,因此您的应用程序生成或处理的每个文件在一开始就具有正确的行可见性。




