There's no way to discover that a content was pasted from MS Excel into Safari
📝 Provide detailed reproduction steps (if any)
To begin with, I need to mention that we know about Safari pre-processing pasted content from MS Word and the PasteFromOffice implementation takes that into account
https://github.com/ckeditor/ckeditor5/blob/f1bf118675aecf7a39fd4cd8246e78c272ddba88/packages/ckeditor5-paste-from-office/tests/normalizers/mswordnormalizer.js#L13-L22
We discover the source of the content based on the metadata passed along the paste event. The problem is that when the content is pasted from MS Excel, there is no such metadata as MS Word provides.
This is what a clipboard HTML looks like in Safari when pasted from Excel:
<meta charset="UTF-8"><table border="0" cellpadding="0" cellspacing="0" width="333" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; border-collapse: collapse; width: 250pt;"><colgroup><col width="156" style="width: 117pt;"><col width="21" style="width: 16pt;"><col width="156" style="width: 117pt;"></colgroup><tbody><tr height="24" style="height: 18.75pt;"><td height="24" class="xl71" width="156" style="padding-top: 1px; padding-right: 1px; padding-left: 15px; color: white; font-size: 11pt; font-weight: 700; font-style: normal; text-decoration: none; font-family: "Franklin Gothic Medium", sans-serif; vertical-align: middle; border-width: 0.5pt medium; border-style: solid none; border-color: rgb(217, 217, 217) currentcolor; border-image: none; white-space: nowrap; text-align: left; background: rgb(82, 184, 110); height: 18.75pt; width: 117pt;">METRIC</td><td class="xl68" width="21" style="padding-top: 1px; padding-right: 1px; padding-left: 1px; color: white; font-size: 11pt; font-weight: 700; font-style: normal; text-decoration: none; font-family: "Franklin Gothic Medium", sans-serif; vertical-align: middle; border-width: 0.5pt medium; border-style: solid none; border-color: rgb(217, 217, 217) currentcolor; border-image: none; white-space: nowrap; background: rgb(82, 184, 110); width: 16pt;"> </td><td class="xl72" width="156" style="padding-top: 1px; padding-right: 1px; padding-left: 1px; color: white; font-size: 11pt; font-weight: 700; font-style: normal; text-decoration: none; font-family: "Franklin Gothic Medium", sans-serif; vertical-align: middle; border-width: 0.5pt medium; border-style: solid none; border-color: rgb(217, 217, 217) currentcolor; border-image: none; white-space: nowrap; text-align: right; background: rgb(82, 184, 110); width: 117pt;">THIS YEAR (2023)</td></tr><tr height="24" style="height: 18.75pt;"><td height="24" class="xl73" style="padding-top: 1px; padding-right: 1px; padding-left: 15px; color: rgb(89, 89, 89); font-size: 10pt; font-weight: 400; font-style: normal; text-decoration: none; font-family: Euphemia, sans-serif; vertical-align: middle; border-width: 0.5pt medium; border-style: solid none; border-color: rgb(217, 217, 217) currentcolor; border-image: none; white-space: nowrap; text-align: left; height: 18.75pt; background: rgb(242, 242, 242);">REVENUE</td><td class="xl69" style="padding-top: 1px; padding-right: 1px; padding-left: 1px; color: rgb(89, 89, 89); font-size: 10pt; font-weight: 400; font-style: normal; text-decoration: none; font-family: Euphemia, sans-serif; vertical-align: middle; border-width: 0.5pt medium; border-style: solid none; border-color: rgb(217, 217, 217) currentcolor; border-image: none; white-space: nowrap; background: rgb(242, 242, 242);"> </td><td class="xl75" align="right" style="padding-top: 1px; padding-right: 1px; padding-left: 1px; color: rgb(89, 89, 89); font-size: 10pt; font-weight: 400; font-style: normal; text-decoration: none; font-family: Euphemia, sans-serif; vertical-align: middle; border-width: 0.5pt medium; border-style: solid none; border-color: rgb(217, 217, 217) currentcolor; border-image: none; white-space: nowrap; background: rgb(242, 242, 242);">£180 583,88</td></tr><tr height="24" style="height: 18.75pt;"><td height="24" class="xl74" colspan="2" style="padding-top: 1px; padding-right: 1px; padding-left: 15px; color: rgb(89, 89, 89); font-size: 10pt; font-weight: 400; font-style: normal; text-decoration: none; font-family: Euphemia, sans-serif; vertical-align: middle; border-width: 0.5pt medium; border-style: solid none; border-color: rgb(217, 217, 217) currentcolor; border-image: none; white-space: nowrap; text-align: left; height: 18.75pt;">OPERATING EXPENSES</td><td class="xl76" align="right" style="padding-top: 1px; padding-right: 1px; padding-left: 1px; color: rgb(89, 89, 89); font-size: 10pt; font-weight: 400; font-style: normal; text-decoration: none; font-family: Euphemia, sans-serif; vertical-align: middle; border-width: medium medium 0.5pt; border-style: none none solid; border-color: currentcolor currentcolor rgb(217, 217, 217); border-image: none; white-space: nowrap;">£94 419,46</td></tr></tbody></table>
There's nothing distinguishable about it we could use to our advantage. This problem has also been noticed by the CKE4 team.
If you'd like to see this fixed sooner, add a 👍 reaction to this post.
Since there's nothing obvious to listen to and the ticket in CKE4 over the course of 4 years got 0 reports from community.
It's safe not to cover it for now.
I'll leave the issue open (maybe there are some ways to sniff it, but it doesn't make sense for us to make the effort to investigate it now) and mark it as a known issue though.
There has been no activity on this issue for the past year. We've marked it as stale and will close it in 30 days. We understand it may still be relevant, so if you're interested in the solution, leave a comment or reaction under this issue.
We've closed your issue due to inactivity. We understand that the issue may still be relevant. If so, feel free to open a new one (and link this issue to it).