excel - 合并 Excel 中的单元格并使用 Spreadsheet::WriteExcel 提供超链接
问题描述
我正在使用电子表格::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 上。很抱歉一直引用它。
或者,根据上一篇文章(文件错误:提供超链接时数据可能已丢失),您还可以使用 Excel 中的内置超链接功能:
my $merged = $workbook->add_format();
$worksheet->merge_range("A10:A11",
qq{=hyperlink("#'Sheet3'!A1","Click Here!")},
$merged);
推荐阅读
- java - RPATH 不用于 java JNI 库
- python - Pandas / xlsxwriter writer.close() 没有完全关闭excel文件
- .net-core - 如何设置 GraphServiceClient 的资源 URL 以获取组?
- ruby-on-rails - 如何让 Blazer 使用应用程序布局
- javascript - chart.js 有没有办法根据值对折线图刻度进行着色
- python - 根据满足所有行的条件增加几行的值
- php - 将多个 div 添加到 foreach 循环 - Laravel
- terraform - Terraform:设置从 AWS LoadBalancer 到 S3 存储桶的日志记录
- scala - 为什么我必须导入 Ordering.Implicits?
- typescript - 如何在 TypeScript 中使用 defaultNavigationOptions 的属性?