Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 根据同一手册中的工作表1筛选工作表2数据_Java_Excel_Filter_Worksheet - Fatal编程技术网

Java 根据同一手册中的工作表1筛选工作表2数据

Java 根据同一手册中的工作表1筛选工作表2数据,java,excel,filter,worksheet,Java,Excel,Filter,Worksheet,我正在尝试根据同一工作簿(MS Excel)中的工作表1数据筛选工作表2数据。这是我的要求,我在第一个工作表中有数据,其中包含100条记录,并以员工Id为键,但此工作表将包含与员工个人信息相关的数据,如姓名、年龄。然而,第二页将包含该特定员工的更多信息,如经验详情。所以,我想为用户提供一个功能,用户点击员工ID,然后它将重定向到另一个带有过滤数据的工作表 以下是在同一工作簿的两个不同工作表中提供的示例数据: 第1页: 姓名|员工ID |年龄|性别| ABC | 123 | 23 | M | BC

我正在尝试根据同一工作簿(MS Excel)中的工作表1数据筛选工作表2数据。这是我的要求,我在第一个工作表中有数据,其中包含100条记录,并以员工Id为键,但此工作表将包含与员工个人信息相关的数据,如姓名、年龄。然而,第二页将包含该特定员工的更多信息,如经验详情。所以,我想为用户提供一个功能,用户点击员工ID,然后它将重定向到另一个带有过滤数据的工作表

以下是在同一工作簿的两个不同工作表中提供的示例数据:

第1页:

姓名|员工ID |年龄|性别| ABC | 123 | 23 | M |
BCD | 234 | 25 | F |

第2页:

员工ID |以前的公司|经验 123 | Ace | 4
123 |技术| 5
234 | Ace | 4

如果我点击表1中的123,它会将我重定向到表2,并只过滤123条记录


如果有人知道答案,请在我需要用Java代码构建此功能时尽快回复。但是,在开始编写代码之前,我应该知道是否可以使用excel。

我假设您的Sheet1数据从A1单元格开始,
员工ID
位于
列b
我还假设sheet2数据从单元格A1开始,
员工ID
位于
列A


使用以下子项根据sheet1员工id筛选sheet2的数据。使用sheet1
工作表中的代码\u Change
事件不在
sheet2

如何使用:您必须
双击Sheet1
员工ID
单元格中的
,然后按
输入
选项卡

Private Sub Worksheet_Change(ByVal Target As Range)
Dim LastUsedRow As Long
Dim FilterCriteria As Variant

    If Not Application.Intersect(Target, Range("B1:B10")) Is Nothing Then
        FilterCriteria = Target.Value
          LastUsedRow = Sheets("Sheet2").Range("A1").End(xlDown).Row
         Sheets("Sheet2").Range("A1:C" & LastUsedRow).AutoFilter Field:=1, Criteria1:=FilterCriteria
        Sheets("Sheet2").Select
    End If

End Sub
有关更多说明,请参见下面的屏幕截图


是否只从下拉列表中选择一个id,然后它将自动显示与sheet2中的id相关的所有数据?否,当用户单击员工id值的单元格时,我想过滤sheet2中的数据。例如,如果用户单击sheet1中员工Id为123的单元格,则会将其重定向到sheet2,并使用员工Id为123的筛选数据。请确保双击员工Id单元格,然后按
ENTER
TAB
键<代码>(目标,范围(“B1:B10”))
根据您的实际范围更改此处的范围。