Android基于Spire.Doc.Android生成word
Posted Leonban
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android基于Spire.Doc.Android生成word相关的知识,希望对你有一定的参考价值。
最近客户提了新功能,在移动端生成word报告,最后找到了一个成熟的三方spire ,免费版有瑕疵。 同时poi也可以实现,这里只做简单的分享,大家可以自行去查阅poi相关的东西。
1.首先:导入jar包https://repo.e-iceblue.cn/repository/maven-public/e-iceblue/spire.doc.android/10.5.0/spire.doc.android-10.5.0.jarhttps://repo.e-iceblue.cn/repository/maven-public/e-iceblue/spire.doc.android/10.5.0/spire.doc.android-10.5.0.jar2.代码实现
public String saveWord(String distline_name)
//创建Word文档
Document document = new Document();
//添加一个section
Section section = document.addSection();
//添加三个段落至section
Paragraph para1 = section.addParagraph();
para1.appendText(distline_name + "报告");//标题
Paragraph para2 = section.addParagraph();
para2.appendText(" 设备名称:" + "服务器");
Paragraph para3 = section.addParagraph();
para3.appendText("问题描述:" + "设备异常无法使用");
//添加第二个段落
Paragraph paragraph4 = section.addParagraph();
//添加图片到段落(我这个是本地图片路径)
//添加图片的方法
DocPicture picture = paragraph4.appendPicture("/sdcard/test.png");//替换为自己本地图片的路径
//设置图片宽度
picture.setWidth(200f);
//设置图片高度
picture.setHeight(150f);
//设置第二段和第三段的段首缩进
para2.getFormat().setFirstLineIndent(25f);
para3.getFormat().setFirstLineIndent(25f);
paragraph4.getFormat().setFirstLineIndent(25f);
//设置第一段和第二段的段后间距
para2.getFormat().setAfterSpacing(10f);
para3.getFormat().setAfterSpacing(10f);
paragraph4.getFormat().setAfterSpacing(10f);
para1.getFormat().setAfterSpacing(15f);
//将第一段作为标题,设置标题格式
ParagraphStyle style1 = new ParagraphStyle(document);
style1.setName("titleStyle");
style1.getCharacterFormat().setBold(true);
style1.getCharacterFormat().setTextColor(Color.BLUE);
style1.getCharacterFormat().setFontName("宋体");
style1.getCharacterFormat().setFontSize(12f);
document.getStyles().add(style1);
para1.applyStyle("titleStyle");
//设置第一个段落的对齐方式
para1.getFormat().setHorizontalAlignment(HorizontalAlignment.Center);
//保存文档
String path = Environment.getExternalStorageDirectory().getPath();
//换成自己路径,输出路径
File file = new File(path + "/word");
if (!file.exists())
file.mkdirs();
String fileName = "";
fileName = distline_name + "报告"+ ".docx";//文档格式docx
String fileWordPath = file.getPath() + "/" + fileName;
document.saveToFile(fileWordPath, FileFormat.Docx);
return fileWordPath;
3.生成效果图
缺点是免费版所以生成的word首行会有个他们的水印。
同时使用POI没有水印问题
Android基于Poi生成Wordhttps://blog.csdn.net/Hearbeat/article/details/128660067
以上是关于Android基于Spire.Doc.Android生成word的主要内容,如果未能解决你的问题,请参考以下文章