把Excel表格塞进mmwiki,最省事的办法其实是先把它变成CSV,再让mmwiki自己啃。我试过直接复制粘贴,格式全乱,表格线消失,数字还变成日期——那叫一个惨。后来发现,mmwiki对纯文本的容忍度远高于二进制格式,所以中间加一层转换,比硬碰硬强得多。
具体操作:在Excel里打开你的文件,点“文件”->“另存为”,格式选“CSV UTF-8(逗号分隔)”。注意,别选那个普通的CSV,否则中文会变乱码。我吃过亏,一个产品清单里的“规格”全成了问号,排查半小时才反应过来是编码问题。保存后,用记事本打开这个CSV,你会看到每行数据用逗号隔开,第一行通常是表头。这时候别急着关,检查一下有没有多余的引号或换行——Excel有时候会在含逗号的单元格外面自动加双引号,mmwiki不认这个,得手动删掉。
接下来是关键一步:mmwiki的表格语法。它不像MediaWiki那样用{ |和|},而是更接近Markdown的管道符风格。比如你有个三列表格,表头是“名称、数量、备注”,那就在mmwiki编辑页里写:
| 名称 | 数量 | 备注 | |------|------|------| | 螺丝 | 100 | 不锈钢 | | 螺母 | 200 | 镀锌 |
看到没?竖线分隔单元格,第二行是|---|---|---|这种分隔线,用来告诉渲染器这是表头。如果你直接从CSV复制,每行末尾会多一个逗号,得批量替换成竖线。我习惯用Notepad++的“查找替换”,把,换成|,再在行首行尾各加一个|。十秒钟搞定,比手动敲快多了。
有个坑得提一下:mmwiki对空格敏感。CSV里如果单元格内容前后有空格,转换后会保留,导致表格对齐错乱。比如“ 螺丝 ”变成“| 螺丝 |”,渲染出来右边多出一块空白。解决办法是在Excel里先用TRIM()函数清一遍,或者转换后在mmwiki里手动删。我一般图省事,直接全选替换两个空格为一个,但偶尔会误伤内容里的双空格——所以重要数据还是老实点,逐列检查。
另外,如果你的表格里有换行符(比如一个单元格内写了多行地址),CSV会把它变成\n或者直接断行。mmwiki的表格不支持单元格内换行,你得把内容压成一行,或者拆成多行表格。我遇到过最离谱的情况:一个客户把整段产品描述塞进一个单元格,转换后表格直接崩了,竖线全乱套。后来我教他先用Excel的“分列”功能按换行符拆开,再逐行处理。
最后说个偷懒技巧。如果你只是偶尔转一两个小表格,完全可以在Excel里用公式拼出mmwiki格式。比如A列是名称,B列是数量,那在C1写="| "&A1&" | "&B1&" |",往下拖,然后复制C列到mmwiki。连CSV都不用存。这招适合数据量少于50行的情况,再多还是走CSV批量替换更稳。
转换本身不复杂,麻烦的是那些隐藏的格式细节。我现在的习惯是:Excel里先清理数据,存CSV,用脚本加竖线,粘贴到mmwiki预览,发现不对再回Excel调。来回折腾几次,你就知道哪些列容易出问题了。别指望一键完美转换,那东西不存在。