试卷导出,poi操作

博客内容涉及如何使用Apache POI库来实现试卷的导出功能,详细介绍了通过重构代码来实现这一过程的步骤。
摘要由CSDN通过智能技术生成

参考这篇文章,根据实际情况重构代码:

http://53873039oycg.iteye.com/blog/2153194

import java.io.FileOutputStream;
import java.math.BigInteger;

import org.apache.poi.xwpf.usermodel.BreakType;
import org.apache.poi.xwpf.usermodel.ParagraphAlignment;
import org.apache.poi.xwpf.usermodel.TextAlignment;
import org.apache.poi.xwpf.usermodel.UnderlinePatterns;
import org.apache.poi.xwpf.usermodel.VerticalAlign;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTFonts;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTHpsMeasure;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTPPr;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTRPr;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTSpacing;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.STLineSpacingRule;

/**
 * 试卷导出
 * @author 
 */
public class TestPaperExportUtil {
	
	/**
	 * 设置title 
	 * @param document
	 * @param title
	 */
	public static void setTilte(CustomXWPFDocument_S_2 document, String title) {
		XWPFParagraph p = document.createParagraph();
		setTextFontInfo(p, false, false, title, "宋体", "000000",
				"40", true, null, false, false, null, 0, null);
		setParagraphSpacingInfo(p, true, "0", "0", "0", "0", true, "240",
				STLineSpacingRule.Enum.forString("auto"));
		setParagraphAlignInfo(p, ParagraphAlignment.CENTER,
				TextAlignment.CENTER);

	}
	
	/**
	 * 设置班级,姓名
	 * @param document
	 * @param Bj
	 */
	public static void setBJ(CustomXWPFDocument_S_2 document, String Bj){
		Bj = "班级:________    姓名:________";
		XWPFParagraph p = document.createParagraph();
		setTextFontInfo(p, false, false, Bj, "宋体",
				"000000", "21", false, null, false, false, null, 0,null);
		setParagraphSpacingInfo(p, true, "0", "0", "0", "0", true, "240",
				STLineSpacingRule.Enum.forString("auto"));
		setParagraphAlignInfo(p, ParagraphAlignment.CENTER,
				TextAlignment.CENTER);
	}
	
	/**
	 * 设置题组名称
	 * @param document
	 * @param qGName
	 */
	public static void setQuestionGroup(CustomXWPFDocument_S_2 document, String qGName){
		XWPFParagraph p = document.createParagraph();
		setTextFontInfo(p, false, false, qGName, "宋体", "000000",
				"21", true, null, false, false, null, 0,null);
		setParagraphSpacingInfo(p, true, "0", "0", "100", null, true, "240",
				STLineSpacingRule.Enum.forString("auto"));
		setParagraphAlignInfo(p, ParagraphAlignment.LEFT, TextAlignment.CENTER);
	}
	
	/**
	 * 设置题名称
	 * @param document
	 * @param qName
	 */
	public static void setQuestion(CustomXWPFDocument_S_2 document, String qName){
		XWPFParagraph  p = document.createParagraph();
		setTextFontInfo(p, false, false, qName, "宋体",
				"000000", "21", false, null, false, false, null, 0,null);
		setParagraphSpacingInfo(p, true, "0", "0", "0", "0", true, "240",
				STLineSpacingRule.Enum.forString("auto"));
		setParagraphAlignInfo(p, ParagraphAlignment.LEFT, TextAlignment.CENTER);
	}

	/**
	 * @param verticalAlign
	 *            SUPERSCRIPT上标 SUBSCRIPT下标
	 * @param position
	 *            字符位置 1磅=2
	 */
	// 设置字体信息 设置字符间距信息(CTSignedTwipsMeasure)
	public static void setTextFontInfo(XWPFParagraph p, boolean isInsert,
			boolean isNewLine, String content, String fontFamily,
			String colorVal, String fontSize, boolean isBlod,
			Unde
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值