SpringBootエクスポートword(officeとwps対応)入出力ストリーム、1分で習得
3411 ワード
Javaのwordについてお話ししますと、その前にも多くの資料を調べて、多くの人に聞いたことがありますが、ネット上で見つけたリソースはすべてローカルにエクスポートされ、ローカルテンプレートを定義する必要があります.この方法はあまりにも限られていて、あまりお勧めしません.以前excelをエクスポートしたことがあるので、以前excelをエクスポートする方法でwordをどのようにエクスポートするかを考えて、最後に実現しました.コードを参照:
これはエクスポートされたツールクラスであり、自分でexcelをコピーして書いたものでもあり、直接使用できますが、poi依存をインポートすることを前提としています.
そして自分のデータを転送することができます
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import javax.servlet.http.HttpServletResponse;
import java.io.OutputStream;
/**
*@Author jcc
*@Description word
*@Date 2019/4/29 14:59
**/
public class WordUtil {
public void exportWord(XWPFDocument document, HttpServletResponse response,String fileName) throws Exception{
response.setHeader("Content-Disposition","attachment;fileName="+ fileName+".docx");
response.setContentType("application/msword");
OutputStream os = response.getOutputStream();
document.write(os);
os.flush();
os.close();
}
}
これはエクスポートされたツールクラスであり、自分でexcelをコピーして書いたものでもあり、直接使用できますが、poi依存をインポートすることを前提としています.
com.deepoove
poi-tl
0.0.3
そして自分のデータを転送することができます
@GetMapping("PoiWord")
@ApiOperation(value = " word",notes = " word")
public void PoiWord(String entityId, String structId, String pStructureId, HttpServletResponse response){
XWPFDocument document= new XWPFDocument();
try {
//
List oralHisStructureTexts=iOralHisStructureTextService.getOralHisStructureText(structId,pStructureId,entityId);
// , , set
for (OralHisStructureText oralHisStructureText:oralHisStructureTexts){
//
XWPFParagraph titleParagraph = document.createParagraph();
//
titleParagraph.setAlignment(ParagraphAlignment.CENTER);
//
XWPFRun titleParagraphRun = titleParagraph.createRun();
// document
titleParagraphRun.setText(oralHisStructureText.getStructureName());
//
titleParagraphRun.setColor("000000");
//
titleParagraphRun.setFontSize(15);
//
XWPFParagraph firstParagraph = document.createParagraph();
XWPFRun run = firstParagraph.createRun();
run.setText(oralHisStructureText.getContent());
run.setColor("000000");
run.setFontSize(10);
//
XWPFParagraph paragraph1 = document.createParagraph();
XWPFRun paragraphRun1 = paragraph1.createRun();
paragraphRun1.setText("\r");
}
SimpleDateFormat sdf = new SimpleDateFormat("MMddHHmmss");
String fileName = new String("word ".getBytes("UTF-8"), "iso-8859-1");
new WordUtil().exportWord(document,response,fileName+sdf.format(new Date()));
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
System.out.println(" !!!!");
}