excel - 合并 Excel 中的单元格并使用 Spreadsheet::WriteExcel 提供超链接

标签 excel perl hyperlink

我正在使用电子表格::WriteExcel。我想合并两个单元格并提供指向合并单元格内内容的超链接。

我试过这样。

$Log_Sheet->merge_range('D2:E2','Home',$MergedFormat);
$Log_Sheet->write_url('D2','internal:sheet1!A1');

这工作正常,但是当我尝试打开一个文件时,它会显示一条警告,指出文件错误:数据可能已丢失。这是因为 D2 单元被覆盖。

如何合并单元格并在一次调用中提供超链接?

最佳答案

我不能保证这适用于 Spreadsheet::WriteExcel,但它适用于 Excel::Writer::XLSX。我鼓励您在 Spreadsheet::WriteExcel 上尝试一下。

对于合并的范围,一旦您声明了一种格式,您需要继续将它用于该范围,并且永远不要将它用于非合并的范围。因此,如果您获取代码并添加标签和格式对象:

$Log_Sheet->merge_range("D2:E2", 'Home', $MergedFormat);
$Log_Sheet->write_url('D2', 'internal:sheet1!A1', 'Click Me!', $MergedFormat);

它似乎确实有效......在 Excel::Writer::XLSX 上。很抱歉一直引用它。

或者,根据上一篇文章 (File Error:data may have been lost while giving hyperlinks),您还可以使用 Excel 中的内置超链接功能:
my $merged = $workbook->add_format();
$worksheet->merge_range("A10:A11",
  qq{=hyperlink("#'Sheet3'!A1","Click Here!")},
  $merged);

关于excel - 合并 Excel 中的单元格并使用 Spreadsheet::WriteExcel 提供超链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53879174/

相关文章:

excel - 如何从 VBA 函数触发错误

perl - 遍历哈希引用是否需要在 perl 中隐式复制它?

perl - 如何在 Perl 中同时捕获 stderr、stdout 和退出代码?

perl - 读取在 Perl 中可能被截断的文件

VBA检索超链接目标表?

vba - Excel VBA : Animation of moving object

vba - Excel - 使用完整路径名关闭/保存

html - HTML 中的链接图像(包装链接和内部链接)不会是 'link'

html - 没有 href 的链接,有什么用吗?

c# - 是否可以在两个 excel 工作表之间设置外键?