前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Excel中的无效链接(1)

Excel中的无效链接(1)

原创
作者头像
东风压倒西风
修改2022-04-18 14:26:50
2.2K0
修改2022-04-18 14:26:50
举报
文章被收录于专栏:卓谷山卓谷山

打开Excel文件的时候,时常会遇到说外部链接无效的警告。

无效链接大致有这么几种方式,有的很好解决,有的可就有些费神了。

  • 自定义的名字
  • 函数、数式的参照
  • 粘贴过来的link
  • 指向图形(文本框等)、cell的link
  • 图表
  • 透视表

这里说第一种的解决方法。

准备工作

  • 在一个excel文件(比如叫test.xlsx)中,定义了一个名字,叫“河北省”
定义了一个名字叫“河北省”
定义了一个名字叫“河北省”
  • 2、定义一个下拉框,该下拉框的内容为列表,指向的是名字“河北省”。
使用“河北省”这个名字
使用“河北省”这个名字
  • 另外新建一个excel文件(比如叫test2.xlsx),复制test.xlsx中的下拉框cell到该文件中。比如复制到了两处,C4和G4处。

复制下拉框的cell
复制下拉框的cell
  • 删除test.xlsx文件,再打开test2.xlsx的时候,会报【无效链接】的错误。如果这个excel内容比较多的时候,要找到哪一些cell使用了无效链接,有些许难度的。

无效链接错误
无效链接错误

解决方法

  • 定位是指向哪个外部文件的link失效了。点击上面的【编辑link】,可以看到是指向test.xlsx的link失效了。
link失效的具体内容
link失效的具体内容
  • 打开格式中的【名字编辑】,可以找到是“河北省”这个名字使用到了test.xlsx。
  • 将test2.xlsx备份一下,然后修改后缀名为zip。也就是修改文件名为test2.zip。然后解压。

解压以后的文件结构如下:

└─test2

│ [Content_Types].xml

├─docProps

│ app.xml

│ core.xml

├─xl

│ │ sharedStrings.xml

│ │ styles.xml

│ │ workbook.xml

│ │

│ ├─externalLinks

│ │ │ externalLink1.xml

│ │ │

│ │ └─_rels

│ │ externalLink1.xml.rels

│ │

│ ├─theme

│ │ theme1.xml

│ │

│ ├─worksheets

│ │ sheet1.xml

│ │

│ └─_rels

│ workbook.xml.rels

└─_rels

.rels

  • 在sheet1.xml中,可以找到哪一些cell使用了“河北省”。
代码语言:html
复制
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="x14ac" xmlns:x14ac="http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac">
    <dimension ref="B2:G4"/>
    <sheetViews>
        <sheetView tabSelected="1" workbookViewId="0">
            <selection activeCell="K7" sqref="K7"/>
        </sheetView>
    </sheetViews>
    <sheetFormatPr defaultRowHeight="18.75" x14ac:dyDescent="0.4"/>
    <cols>
        <col min="3" max="3" width="11.875" bestFit="1" customWidth="1"/>
        <col min="7" max="7" width="18.875" customWidth="1"/>
    </cols>
    <sheetData>
    ......
    </sheetData>
    <phoneticPr fontId="2"/>
    <dataValidations count="3">
        <dataValidation type="list" allowBlank="1" 
             showInputMessage="1" showErrorMessage="1" sqref="C4 G4">
            <formula1>河北省</formula1>
        </dataValidation>
     ......
    </dataValidations>
    <pageMargins left="0.7" right="0.7" top="0.75" bottom="0.75" header="0.3" footer="0.3"/>
</worksheet>

可以看到,sqref="C4 G4" 的地方引用了“河北省”。

我们可以断定是C4和G4这两个单元格使用了“河北省”,修改他们的值即可消除无效链接的错误。

代码语言:javascript
复制
        <dataValidation type="list" allowBlank="1" 
             showInputMessage="1" showErrorMessage="1" sqref="C4 G4">
            <formula1>河北省</formula1>
        </dataValidation>

当然,如果是多个sheet的话,需要都搜索一下,看是否有这个无效的link。

汇总

引起这个问题的原因是excel复制单元格的时候,也将其使用的名字等信息也复制过来了。一般来说会有问题。

所以复制excel的时候要多加注意,避免将不必要的信息也带过来。

END!!

参考URL

https://global-wing.com/activity/de-link-error.html

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 准备工作
  • 解决方法
  • 汇总
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档