如何用JS实现复制内容可粘贴为Word/Excel等多列分离表格?
解决方案
核心原因是Word、Excel、Outlook这类Office软件识别纯文本表格的规则是:行之间用换行符分隔,同一行的列之间用制表符(\t)分隔,你之前用空格拼接同行内容,自然会被识别为同一单元格内容。
修改方案
把同行两个内容的拼接符从空格改为\t即可,修改后的伪代码如下:
var currentLine; for (<each list item found>) { // 把原来的空格替换为制表符\t currentLine = `${box1A}\t${box1B}`; <append currentLine + '\n' to a new line in a textarea element>; } <select the text in the textarea element>; document.execCommand('copy');
注意事项
如果你的box1A、box1B内容本身包含制表符,需要先把内容里的\t替换为空格或者其他符号,避免出现多余的拆分列。
如果需要更复杂的表格格式(比如合并单元格、自定义样式),可以直接拼接HTML表格代码写入剪贴板,兼容性也能覆盖所有Office软件。
内容的提问来源于stack exchange,提问作者Anthony LoPrimo
相关产品推荐
相关产品推荐

