Skip to content

Conversation

@TCOTC
Copy link
Contributor

@TCOTC TCOTC commented Nov 13, 2025

https://ld246.com/article/1763027417781/comment/1763032527460#comments

把思源的表格复制粘贴到 Excel 里,会保留 <!--data-siyuan='xxx'--> 注释,然后再从 Excel 里复制任何单元格都会带上这个注释,Ctrl+V 粘贴到思源里的话就会粘贴出之前从思源里复制过去的表格。

所以在 getTextSiyuanFromTextHTML 函数中判断 HTML 是否来自于 Microsoft Excel,如果是的话就不解析 textSiyuan


从 Excel 里复制之后,Ctrl+V 粘贴得到的 HTML:

<html xmlns:v="urn:schemas-microsoft-com:vml"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=utf-8">
<meta name=ProgId content=Excel.Sheet>
<meta name=Generator content="Microsoft Excel 15">
<link id=Main-File rel=Main-File
href="file:///C:/Users/Admin/AppData/Local/Temp/msohtmlclip1/01/clip.htm">
<link rel=File-List
href="file:///C:/Users/Admin/AppData/Local/Temp/msohtmlclip1/01/clip_filelist.xml">
<style>
<!--table
	{mso-displayed-decimal-separator:"\.";
	mso-displayed-thousand-separator:"\,";}
@page
	{margin:.75in .7in .75in .7in;
	mso-header-margin:.3in;
	mso-footer-margin:.3in;}
tr
	{mso-height-source:auto;
	mso-ruby-visibility:none;}
col
	{mso-width-source:auto;
	mso-ruby-visibility:none;}
br
	{mso-data-placement:same-cell;}
td
	{padding-top:1px;
	padding-right:1px;
	padding-left:1px;
	mso-ignore:padding;
	color:black;
	font-size:11.0pt;
	font-weight:400;
	font-style:normal;
	text-decoration:none;
	font-family:等线;
	mso-generic-font-family:auto;
	mso-font-charset:134;
	mso-number-format:General;
	text-align:general;
	vertical-align:middle;
	border:none;
	mso-background-source:auto;
	mso-pattern:auto;
	mso-protection:locked visible;
	white-space:nowrap;
	mso-rotate:0;}
ruby
	{ruby-align:left;}
rt
	{color:windowtext;
	font-size:9.0pt;
	font-weight:400;
	font-style:normal;
	text-decoration:none;
	font-family:等线;
	mso-generic-font-family:auto;
	mso-font-charset:134;
	mso-char-type:none;
	display:none;}
-->
</style>
</head>

<!--data-siyuan='PGRpdiBkYXRhLW5vZGUtaWQ9IjIwMjUxMTEzMTk0OTUwLWgyZHJtMWYiIGRhdGEtbm9kZS1pbmRleD0iMSIgZGF0YS10eXBlPSJOb2RlVGFibGUiIGNsYXNzPSJ0YWJsZSIgdXBkYXRlZD0iMjAyNTExMTMxOTQ5NTAiPjxkaXYgY29udGVudGVkaXRhYmxlPSJmYWxzZSI+PHRhYmxlIGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIgc3BlbGxjaGVjaz0iZmFsc2UiPjxjb2xncm91cD48Y29sIC8+PGNvbCAvPjxjb2wgLz48L2NvbGdyb3VwPjx0aGVhZD48dHI+PHRoIGFsaWduPSJyaWdodCI+MTwvdGg+PHRoIGFsaWduPSJyaWdodCI+MjwvdGg+PHRoIGFsaWduPSJyaWdodCI+MzwvdGg+PC90cj48L3RoZWFkPjx0Ym9keT48dHI+PHRkIGFsaWduPSJyaWdodCI+NDwvdGQ+PHRkIGFsaWduPSJyaWdodCI+NTwvdGQ+PHRkIGFsaWduPSJyaWdodCI+NjwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJyaWdodCI+NzwvdGQ+PHRkIGFsaWduPSJyaWdodCI+ODwvdGQ+PHRkIGFsaWduPSJyaWdodCI+OTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PGRpdiBjbGFzcz0icHJvdHlsZS1hY3Rpb25fX3RhYmxlIj48ZGl2IGNsYXNzPSJ0YWJsZV9fcmVzaXplIj48L2Rpdj48ZGl2IGNsYXNzPSJ0YWJsZV9fc2VsZWN0Ij48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJwcm90eWxlLWF0dHIiIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiPuKAizwvZGl2PjwvZGl2Pg=='--><!--data-siyuan='PGRpdiBkYXRhLW5vZGUtaWQ9IjIwMjUxMTEzMTk0OTUwLWgyZHJtMWYiIGRhdGEtbm9kZS1pbmRleD0iMSIgZGF0YS10eXBlPSJOb2RlVGFibGUiIGNsYXNzPSJ0YWJsZSIgdXBkYXRlZD0iMjAyNTExMTMxOTQ5NTAiPjxkaXYgY29udGVudGVkaXRhYmxlPSJmYWxzZSI+PHRhYmxlIGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIgc3BlbGxjaGVjaz0iZmFsc2UiPjxjb2xncm91cD48Y29sIC8+PGNvbCAvPjxjb2wgLz48L2NvbGdyb3VwPjx0aGVhZD48dHI+PHRoIGFsaWduPSJyaWdodCI+MTwvdGg+PHRoIGFsaWduPSJyaWdodCI+MjwvdGg+PHRoIGFsaWduPSJyaWdodCI+MzwvdGg+PC90cj48L3RoZWFkPjx0Ym9keT48dHI+PHRkIGFsaWduPSJyaWdodCI+NDwvdGQ+PHRkIGFsaWduPSJyaWdodCI+NTwvdGQ+PHRkIGFsaWduPSJyaWdodCI+NjwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJyaWdodCI+NzwvdGQ+PHRkIGFsaWduPSJyaWdodCI+ODwvdGQ+PHRkIGFsaWduPSJyaWdodCI+OTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PGRpdiBjbGFzcz0icHJvdHlsZS1hY3Rpb25fX3RhYmxlIj48ZGl2IGNsYXNzPSJ0YWJsZV9fcmVzaXplIj48L2Rpdj48ZGl2IGNsYXNzPSJ0YWJsZV9fc2VsZWN0Ij48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJwcm90eWxlLWF0dHIiIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiPuKAizwvZGl2PjwvZGl2Pg=='--><!--data-siyuan='PGRpdiBkYXRhLW5vZGUtaWQ9IjIwMjUxMTEzMTk0OTUwLWgyZHJtMWYiIGRhdGEtbm9kZS1pbmRleD0iMSIgZGF0YS10eXBlPSJOb2RlVGFibGUiIGNsYXNzPSJ0YWJsZSIgdXBkYXRlZD0iMjAyNTExMTMxOTQ5NTAiPjxkaXYgY29udGVudGVkaXRhYmxlPSJmYWxzZSI+PHRhYmxlIGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIgc3BlbGxjaGVjaz0iZmFsc2UiPjxjb2xncm91cD48Y29sIC8+PGNvbCAvPjxjb2wgLz48L2NvbGdyb3VwPjx0aGVhZD48dHI+PHRoIGFsaWduPSJyaWdodCI+MTwvdGg+PHRoIGFsaWduPSJyaWdodCI+MjwvdGg+PHRoIGFsaWduPSJyaWdodCI+MzwvdGg+PC90cj48L3RoZWFkPjx0Ym9keT48dHI+PHRkIGFsaWduPSJyaWdodCI+NDwvdGQ+PHRkIGFsaWduPSJyaWdodCI+NTwvdGQ+PHRkIGFsaWduPSJyaWdodCI+NjwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJyaWdodCI+NzwvdGQ+PHRkIGFsaWduPSJyaWdodCI+ODwvdGQ+PHRkIGFsaWduPSJyaWdodCI+OTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PGRpdiBjbGFzcz0icHJvdHlsZS1hY3Rpb25fX3RhYmxlIj48ZGl2IGNsYXNzPSJ0YWJsZV9fcmVzaXplIj48L2Rpdj48ZGl2IGNsYXNzPSJ0YWJsZV9fc2VsZWN0Ij48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJwcm90eWxlLWF0dHIiIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiPuKAizwvZGl2PjwvZGl2Pg=='-->

<body link="#0563C1" vlink="#954F72">

<table border=0 cellpadding=0 cellspacing=0 width=69 style='border-collapse:
 collapse;width:52pt'>
 <col width=69 style='width:52pt'>
 <tr height=19 style='height:14.0pt'>
<!--StartFragment-->
  <td height=19 align=right width=69 style='height:14.0pt;width:52pt'>2</td>
<!--EndFragment-->
 </tr>
</table>

</body>

</html>

@Vanessa219
Copy link
Member

能否在粘贴的时候就不要粘贴到 Excel 中?

@TCOTC
Copy link
Contributor Author

TCOTC commented Nov 14, 2025

我没查到解决方案

@Vanessa219
Copy link
Member

<!--data-siyuan='xxx'--> 这个放在末尾而非开头会不会好一点?

@TCOTC
Copy link
Contributor Author

TCOTC commented Nov 21, 2025

@Vanessa219 我找不到能阻止写入 Excel 并且保证思源里正常粘贴的方法

@Vanessa219
Copy link
Member

具体怎么做?

@TCOTC
Copy link
Contributor Author

TCOTC commented Nov 21, 2025

什么怎么做?

@Vanessa219
Copy link
Member

这个的方法是什么?

@Vanessa219 我找不到能阻止写入 Excel 并且保证思源里正常粘贴的方法

@TCOTC
Copy link
Contributor Author

TCOTC commented Nov 21, 2025

我说的是找不到方法

@Vanessa219
Copy link
Member

Vanessa219 commented Nov 22, 2025

呃,感觉昨晚幻觉了。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants