不过由于P9的表格排版是依据换行来做的,因此最后CSV粘贴法在碰上本身文本内有大量回车的表格后就歇菜了,具体表现可以看图:
期望:
实际渲染结果:(直接导出成CSV并复制上来的结果)
这个排版想要改起来就让人很头大了,更不用说如果本身就是几十甚至上百行的表格的话,简直让人抓狂。
好在仔细研究了下后我发现了一个相对比较方便的排版方法,所以这里贴一下,万一各位以后也遇到这种问题的时候可以参考下。
本文下面所有的“【】”请自行替换成“[]”
原理:
出现上面这种情况是因为P9的表格排版一行是依据回车换行键来做判断的,所以本身自带了换行后就会让P9的表格渲染程序判断失误,将本来不该换行的内容也换行了。而如果直接全文替换回车为【br】的话则会让整个CSV都失去了作用无法作为表格使用。
解决方案:
先利用特殊文本标记将每行的首文本标记下来后,将全文回车替换成【br】,然后再全文替换之前的标记文本为回车,即可完美解决。
需要用到的软件:
Notepad++、EmEditor等高级文本编辑器(反正记事本干不了这活)。本文以EmEditor为例来讲解。
具体的操作手法:
1.首先需要在Excel表格里将首列的所有文本前面都添加上标记文本。这个选择自己表格内没出现过的任意文本即可,比如我这里用的是“++”。
在首列左边新建一列,让原先的A列变成B列。然后在A1格子的内容输入函数“ ="++"&b1 ”(有些Excel软件可能需要将“b”大写),然后回车,你会看到A1的内容变成我们需要的带了“++”标记的文本。接着鼠标放A1右下角变成+号后一路拖着往下拉把A列全部内容都变成“++B列”的方式。
做了个简易的步骤图,没看懂这步操作的可以看下:
https://wx4.sinaimg.cn/large/a21f4811ly1fy4h6a4eeug21es0q2dnf.gif
2.全选A列,复制,并在A列基础上“选择性粘贴”,保留文本和格式。这么做的目的是为了将A列和B列的引用关系去掉,否则无法删除B列。
3.A列粘贴完成后删除不带“++”的B列,并导出成CSV。注意的是导出选项里最好选择UTF8并且将“字符串分隔符”改成空格(一般默认是双引号,影响后面表格的美观程度)。
4.用前面提到的高级文本编辑器打开CSV文件,并"查找与替换":查找“\n\r”替换成“【br】”,选择“替换全部”。(需要注意的是部分文本编辑器可能要在查找的选项里勾选“使用转义符”之类的选项,否则无法查找到。)
5.再一次查找替换,将我们的标记符号全部改成"\n\r"
6.将CSV内容复制到P9文本框来就发现排版完美啦。文中的例子成品结果可以点这:
https://psnine.com/topic/34356?page=2