需求
有小伙伴有这么一个需求,需要把一大段有固定规律的文本,按照某些条件拆分成三份(n 份),粘贴到 Excel 的不同 cell 中,同时对其中的内容做样式的更改。
实现分析
- 复制内容
- 程序读取剪贴板
- 对内容做出更改(主要工作量)
- 更改后的内容填充到剪贴板
- 粘贴到 Excel
对内容做出更改
一句话:把内容改写成 html 即可。
坑 1 - 分 cell
用 <table>
即可
String text = "<html><table><tr><td>" +
cell_1_content + "</td><td>" +
cell_2_content + "</td></tr></table></html>";
坑 2 - 如果有 换行符
微软夹带的私货,如果 html 中换行用 <br>
没有特殊设置,会粘贴到第二行
。
解决方法
<head>
<style>
br {
mso-data-placement:same-cell;
}
</style>
</head>
加粗,加红
// 加粗
String text = "<b>" + your_content + "</b>";
// 加红
String text = "<font color='red'>" + your_content + "</font>";
总结
- 改写成 html
- 用 table 来拼
- 注意微软换行的 私活