首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

指向另一个工作表中的单元格的EPPlus超链接

在使用 EPPlus 创建 Excel 文档时,如果你想在一个工作表中创建一个超链接,指向同一个 Excel 文件的另一个工作表中的特定单元格,你可以按照以下步骤操作:

1. 创建 ExcelPackage 和工作表

首先,确保你已经安装了 EPPlus 库,并且已经创建了 ExcelPackage 实例以及需要的工作表。

代码语言:javascript
复制
using OfficeOpenXml;
using System.IO;

var fileInfo = new FileInfo("example.xlsx");
using (var package = new ExcelPackage(fileInfo))
{
    var sheet1 = package.Workbook.Worksheets.Add("Sheet1");
    var sheet2 = package.Workbook.Worksheets.Add("Sheet2");
    
    // 接下来,添加数据和超链接
}

2. 在工作表中添加数据

在两个工作表中添加一些数据,以便我们有内容可以链接到。

代码语言:javascript
复制
sheet1.Cells["A1"].Value = "Go to Sheet2 A1";
sheet2.Cells["A1"].Value = "Hello, this is Sheet2!";

3. 添加超链接

使用 EPPlus,你可以通过设置单元格的 Hyperlink 属性来创建超链接。这里,我们将在 Sheet1A1 单元格中创建一个链接,指向 Sheet2A1 单元格。

代码语言:javascript
复制
// 创建一个指向 Sheet2 的 A1 单元格的超链接
sheet1.Cells["A1"].Hyperlink = new Uri("'Sheet2'!A1", UriKind.Relative);
sheet1.Cells["A1"].Style.Font.UnderLine = true;
sheet1.Cells["A1"].Style.Font.Color.SetColor(System.Drawing.Color.Blue);

这里,Uri 的第一个参数是一个字符串,格式为 'SheetName'!CellAddress。注意,如果工作表名称包含空格或特殊字符,你需要将其放在单引号内。

4. 保存并关闭 ExcelPackage

完成所有操作后,不要忘记保存并关闭 ExcelPackage

代码语言:javascript
复制
package.Save();

完整示例代码

将以上片段组合在一起,你的完整代码应该类似于以下内容:

代码语言:javascript
复制
using OfficeOpenXml;
using System.IO;

class Program
{
    static void Main()
    {
        var fileInfo = new FileInfo("example.xlsx");
        using (var package = new ExcelPackage(fileInfo))
        {
            var sheet1 = package.Workbook.Worksheets.Add("Sheet1");
            var sheet2 = package.Workbook.Worksheets.Add("Sheet2");

            // 添加数据
            sheet1.Cells["A1"].Value = "Go to Sheet2 A1";
            sheet2.Cells["A1"].Value = "Hello, this is Sheet2!";

            // 添加超链接
            sheet1.Cells["A1"].Hyperlink = new Uri("'Sheet2'!A1", UriKind.Relative);
            sheet1.Cells["A1"].Style.Font.UnderLine = true;
            sheet1.Cells["A1"].Style.Font.Color.SetColor(System.Drawing.Color.Blue);

            // 保存
            package.Save();
        }
    }
}

这样,当你打开生成的 example.xlsx 文件并点击 Sheet1A1 单元格时,Excel 将自动跳转到 Sheet2A1 单元格。这是在 Excel 文件内部创建工作表间导航的一种有效方式。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Excel小技巧92:创建总是指向列表最后一个单元格动态超链接

    工作,有一列值,并且经常会向后添加数据。我想放置一个超链接,单击后总是跳转到列表中最后一个值,如下图1所示。...图1 我们知道,在Excel中使用HYPERLINK函数将创建超链接,其语法为: HYPERLINK(link_location, friendly_name) 其中,link_location设置链接位置...当单击这个名称时,就会跳转到链接位置。 因此,我们利用这个函数来实现我们目的。...在要设置超链接单元格(本例单元格D3)输入下面的公式: =HYPERLINK("[exceltips92.xls]'动态超链接'!...B"&(COUNTA(B:B)+1),"这个链接总是跳转到列表中最后一个值") 公式,使用了COUNTA函数动态统计列B中非空单元格个数,根据工作布局,COUNTA函数返回结果再加上1,从而精确定位链接要到达位置

    1.8K10

    yhd-VBA从一个工作簿工作查找符合条件数据插入到另一个工作簿工作

    今天把学习源文件共享了出来,供大家学习使用 上次想到要学习这个 结合网友也提出意见,做一个,如果有用,请下载或复制代码使用 【问题】我们在工作中有时要在某个文件(工作簿)查找一些数据,提取出来...想要做好了以后同样工作就方便了 【想法】 在一个程序主控文件 设定:数据源文件(要在那里查找工作簿) 设定:目标文件(要保存起来那个文件) 输入你要查找数据:如:含有:杨过,郭靖数据。...要复制整行出来 主控文件设定如图 数据源文件有两个工作 查找到"郭靖"数据保存到目标文件【射雕英雄传】工作 查找到"杨过"数据保存到目标文件【第一个】工作 【代码】 Sub...从一个工作簿工作查找符合条件数据插入到另一个工作簿工作() Dim outFile As String, inFile As String Dim outWb As...MsgBox ("一个也没找到") End If '==end=工作内部

    5.3K22

    工作单元格超链接出错,可能是浏览器搞

    标签:Excel应用问题 我们可以在工作单元格设置超链接,这样,当单击该单元格文本时,就会跳转到链接所指向位置,例如工作簿其他工作。...然而,今天在我制作工作目录时,设置好链接后,竟然跳出如下图1所示错误消息框。 图1 在Excel捣鼓了半天,才发觉不是Excel问题,而是与浏览器有关。也就是说,没有将IE作为默认浏览器。...解决方法也很简单,在注册修改默认键值。具体步骤如下: 1.关闭工作簿。 2.按Win+R组合键,调出“运行”界面。在“打开”输入“regedit”,如下图2所示。单击“确定”按钮。...图2 3.在弹出“注册编辑器”左侧窗口中,导航到Classes目录下.html,路径如下: HKEY_CURRENT_USER\SOFTWARE\Classes。 4....如下图3所示,在右侧窗口中,右键单击“(默认)”,选取“修改”命令,将“数值数据”值修改为“Htmlfile”。 图3 5.关闭注册编辑器。然后,重新打开工作簿,超链接可用了。

    61120

    Excel应用实践16:搜索工作指定列范围数据并将其复制到另一个工作

    学习Excel技术,关注微信公众号: excelperfect 这里应用场景如下: “在工作Sheet1存储着数据,现在想要在该工作第O列至第T列搜索指定数据,如果发现,则将该数据所在行复制到工作...用户在一个对话框输入要搜索数据值,然后自动将满足前面条件所有行复制到工作Sheet2。” 首先,使用用户窗体设计输入对话框,如下图1所示。 ?...Dim rngFoundCell As Range Dim lngCurRow As Long Application.ScreenUpdating = False '赋值为工作...Sheet1 Set wks = Worksheets("Sheet1") With wks '工作最后一个数据行 lngRow = .Range(...Sheet2 Sheets("Sheet2").Cells.Clear '获取数据单元格所在行并复制到工作Sheet2 For Each rngFoundCell

    6K20

    VBA汇总文件夹多文件工作不同单元格区域到总表

    VBA汇总文件夹多文件工作不同单元格区域到总表 【问题】我们发了这样一个表格到各单位收集资料,各单位填写完后上交上来有许多个文件,我们现在想汇总成一年一个,怎么办?...那就加班,再加班 【解决问题】我们口号是VBA使工作效率提高,不加班 ====【代码】==== Sub 提取多文件一工作不同区域汇总() Dim fileToOpen, x, total_file_path...用Application.GetOpenFilename打开一个选择文件对话框,可以多选,把选择文件存入到fileToOpen数据 2.循环数组, 3.打开一个文件,并复制全部区域,到指定2016...-2018表格,下一次复制,复制到最后一行A列, 4.因为在打开文件过程可能有些人在传输文件,文件损坏了,所以加上On Error Resume Next,不报错继续运行。...原因是:初值是.Range("a5:t11"),想要组合进行也是.Range("a5:t11"),所以程序是不可以

    2.3K21

    epplus word html,EPPlus简介

    )列印 使用:首先应该下载Epplusdll文件 1.添加dll文件至工程bin文件 2.添加引用 using OfficeOpenXml; using OfficeOpenXml.Drawing...,这里多说一句,NPOI必须先创建单元格,然后再给单元格赋值,而Epplus不需要,直接找到单元格进行赋值就可以了. worksheet.Cells[int row, int col].Value =...;//第一行第一列到第四行第五列数据设置筛选器 11.工作簿进行计算,通常Excel会自动进行计算,但如果你打开工作簿机器上没有计算引擎,那么这行代码就发挥了作用。...//读取指定单元格计算公式 worksheet.Cells[3, 5].FormulaR1C1 //读取指定单元格R1C1引用方式公式 看了EPPlusSample1到7,其中Sample4是根据现有模板文件导出...Sample1 基本导出Excel Sample2 读取Excel Sample3 将数据库数据导出到Excel,以及在Excel如何指定单元格超链接样式 Sample4 根据现有模板文件导出Excel

    2K41

    VBA基础:复制格式、选取单元格及复制工作示例代码

    标签:VBA 将某工作格式转换到另一个工作 示例代码: Sub TransferFormat() '源格式工作 Dim sht1 As Worksheet '要应用格式工作 Dim...例如,选择当前工作单元格D5: ActiveSheet.Cells(5, 4).Select 或者: ActiveSheet.Range("D5”).Select 选择另一个工作单元格E6: Application.Goto...: Sheets("Sheet2").Activate ActiveSheet.Cells(6, 5).Select 选择当前工作单元格区域C2:D10: ActiveSheet.Range(Cells...Range(Cells(2, 3), Cells(10, 4)).Select 选择另一个工作单元格区域D3:E11: Application.Goto ActiveWorkbook.Sheets...: Sheets("Sheet3").Activate ActiveSheet.Range(Cells(3, 4), Cells(11, 5)).Select 选择不同工作簿单元格区域: Application.Goto

    30100

    Excel催化剂开源第16波-VSTO开发之脱离传统COM交互以提升性能

    在VSTO调用NPOI和EPPLUS,又是怎样一翻境界呢?...在Excel催化剂上使用场景 数据导出场景 在前一波中提到,DataTable数据导出Excel单元格区域上,我们已经提及到若数据量大,改用EPPLUS来导出,在EPPLUS上将数据导出到工作,只需一个现成已封装好方法...若使用ExcelCom方法对工作薄进行打开,关闭,其性能极其低下,若用NPOI或EPPLUS 类库,速度就快出好几十倍,在多文件下有必要转换成此两种类库访问。...在Excel催化剂合并工作/薄,拆分工作/薄场景中大量使用。...在Excel单元格管理相关功能上,大量使用了EPPLUS类库作这些遍历访问,性能十分优秀。

    93030

    Excel应用实践18:按照指定工作数据顺序对另一工作数据排序

    学习Excel技术,关注微信公众号: excelperfect 我从数据库中导入数据到工作,本来数据库数据顺序是排好了,然而导入工作后数据顺序变乱了。...如果在工作中使用复制粘贴来重新恢复固定顺序,将会花费大量时间,能否使用VBA快速完成排序,详情如下。 下图1“固定顺序”工作为数据本来应该顺序: ?...图1 图2“整理前”工作为导入数据后顺序: ? 图2 可以看出,“整理前”工作列顺序被打乱了,我们需要根据“固定顺序”工作顺序将“整理前”工作恢复排序。...lngLastVariable As Long Dim lngNewCol As Long Dim i As Long Dim SearchHeader, rng '赋值工作对象...For i = 1 To lngLastFixed SearchHeader =wksYesOrder.Cells(1, i) '在"整理前"工作查找

    2.9K20

    Excel 某个范围内单元格

    题目 Excel 一个单元格 (r, c) 会以字符串 "" 形式进行表示,其中: 即单元格列号 c 。用英文字母 字母 标识。... 即单元格行号 r 。第 r 行就用 整数 r 标识。...找出所有满足 r1 <= x <= r2 且 c1 <= y <= c2 单元格,并以列表形式返回。 单元格应该按前面描述格式用 字符串 表示,并以 非递减 顺序排列(先按列排,再按行排)。...示例 1: 输入:s = "K1:L2" 输出:["K1","K2","L1","L2"] 解释: 上图显示了列表应该出现单元格。 红色箭头指示单元格出现顺序。...示例 2: 输入:s = "A1:F1" 输出:["A1","B1","C1","D1","E1","F1"] 解释: 上图显示了列表应该出现单元格。 红色箭头指示单元格出现顺序。

    1K20

    Excel技术:如何在一个工作筛选并获取另一工作数据

    为简化起见,我们使用少量数据来进行演示,示例数据如下图1所示。 图1 示例数据位于名为“1”,我们想获取“产地”列为“宜昌”数据。...方法1:使用Power Query 在新工作簿,单击功能区“数据”选项卡“获取数据——来自文件——从工作簿”命令,找到“1”所在工作簿,单击“导入”,在弹出导航器中选择工作簿文件1”...单击功能区新出现“查询”选项卡“编辑”命令,打开Power Query编辑器,在“产地”列,选取“宜昌”,如下图2所示。 图2 单击“确定”。...图3 方法2:使用FILTER函数 新建一个工作,在合适位置输入公式: =FILTER(1,1[产地]="宜昌") 结果如下图4所示。...图5 FILTER函数简介 FILTER函数是一个动态数组函数,其语法为: =FILTER(array, include, [if_empty]) 其中,参数array,想要筛选数据,单元格区域或数组

    15.4K40

    快速汇总多个工作簿工作数据(Excel工具推荐)

    有时候我们会遇到这种问题: 很多数据散落在很多工作或者工作簿,由于某项工作我们需要将这些数据做个汇总。...2.右侧列出了涉及工作所有字段,你可以只选你需要字段进行显示。...3.可以看到有“插入工作簿名”,“插入工作名”按钮,这两个按钮意思是是否需要将工作簿/工作名称作为数据透视字段,此处我们假设想看各月汇总情况,因此需要点击“插入工作簿名”。...我们不需要理解语句内容,只需要点“复制”,然后点“退出”。 三、命令文本粘贴 打开工具数据透视。...这个工具另外一个好处是,数据源字段格式不一定要一样,比方这个工作中有销售数量,销售额字段,那个工作还有“折扣“等字段,对你结果不会产生影响,只是取你需要字段即可。

    10.8K10

    VBA技巧:让代码识别工作形状

    标签:VBA Q:我在工作中放置有一些形状,例如圆形、矩形等,我想当我在工作中使用鼠标单击这些形状时能够根据单击形状有不同操作,该如何实现?...我想在一个过程实现,而不是每个形状关联不同过程。 如下图1所示,当我使用鼠标单击上方圆形时,会执行一个操作;单击下方矩形时,会执行另一个操作,但这两个形状都关联相同过程。...图1 A:在示例工作,将上方圆形命名为“椭圆示例”,下方矩形命名为“圆角矩形”。...End If End Sub 然后,返回工作,在形状单击鼠标右键,将其关联到宏过程testShape。当你单击工作形状时,结果如下图2所示。...图2 你可以代替过程MsgBox行代码为你想要执行操作代码。

    13710

    VBA程序:列出指定工作所有公式

    标签:VBA 下面的VBA过程在指定工作列出指定工作所有公式,包含具体公式、所在工作名称及其所在单元格地址。..., 可修改为你实际工作名 Set rSheet = Sheets("FormulasSheet") '要查找公式工作, 可修改为你实际工作名 Set sht = Sheets("Sheet1...") '查找已使用单元格区域 Set myRng = sht.UsedRange '错误处理, 以应对没有公式情形 On Error Resume Next '使用SpecialCells..." & endRow).Value = Mid(c.Formula, 2, (Len(c.Formula))) '放置包含公式工作名在列B .Range("B" & endRow...).Value = sht.Name '放置去除了绝对符号$公式所在单元格地址于列C .Range("C" & endRow).Value = Application.WorksheetFunction.Substitute

    19410
    领券