- UID
- 68029
- 热情
- 594
- 人气
- 1270
- 主题
- 50
- 帖子
- 843
- 精华
- 0
- 积分
- 1392
- 分享
- 0
- 记录
- 0
- 相册
- 0
- 好友
- 4
- 日志
- 0
- 在线时间
- 1344 小时
- 注册时间
- 2006-3-26
- 阅读权限
- 20
- 最后登录
- 2022-4-27
![Rank: 9](static/image/common/star_level3.gif) ![Rank: 9](static/image/common/star_level3.gif) ![Rank: 9](static/image/common/star_level1.gif)
升级 ![](source/plugin/plbeautify/images/expl.gif) ![](source/plugin/plbeautify/images/expc.gif) 39.2% - UID
- 68029
- 热情
- 594
- 人气
- 1270
- 主题
- 50
- 帖子
- 843
- 精华
- 0
- 积分
- 1392
- 阅读权限
- 20
- 注册时间
- 2006-3-26
|
用java 的 poi-xwpf 写 WORD DOCUMENT.创建一个XWPFRun 后只能定义一个字体.如果中途换的话就以最后一个设置为主.
请问用一个如何写不同格式
如下程序比如设置setbold(true)就是用黑体写,如果在下面用setbold(false)就取消.但问题是它不是在你要写的程序以下取消(比如要DATE 以后的不要黑体前面的保留黑体).但是他不是这样的而是全部所有的都全没有黑体..
如果创建几个XWPFRUN交互使用可以解决问题,但是因为文件格式字体太多这样一来写起来很麻烦.请教高人.有什么好的办法.还是有什么method可以用.
code片段如下
XWPFParagraph paragraph = document.createParagraph();
XWPFRun run = paragraph.createRun();
//start writing document
run.setBold(true); //set bold
run.setFontSize(12); //set size
run.setText(field1.getText().isEmpty()?"Company name":field1.getText());//company name
run.addCarriageReturn(); //separate previous text from break
run.addCarriageReturn();
//run.setBold(false);
Date d = new Date(System.currentTimeMillis()); //get date
run.setText(d.toString());
run.addCarriageReturn();
run.addCarriageReturn(); run.setText("Attention: " + ((field2.getText().isEmpty()&&field3.getText().isEmpty())?"Name":field2.getText() +" " + field3.getText())); //full name
run.addCarriageReturn();
run.addCarriageReturn();
run.setText("Dear "+ (field2.getText().isEmpty()?"FirstName":field2.getText())+","); //dear first name
run.addCarriageReturn();
run.addCarriageReturn();
ecoStarDocument current = new ecoStarDocument(); //create ecostar document to read information
for(String item: current.ecoStrHeader()){
run.setText(item);
run.addCarriageReturn();
run.addCarriageReturn();
}
|
|