eclipse,maven,jdbc
一:流程说明,
1、以word文档形式的的试卷,格式要求第一行为试卷名,以非word自动生成的数字为题号 开头,以题型或固定格式文字为结尾,这里使用'[单选题]'。上传word,解析word文档内容,详细解析出试卷名,题号,问题,选项,题型等插入数据库。注,同试卷不能重复录入。
2、插入对应的答案和分值。
3、考试计分。
二:pom,有部分依赖没有用到,可删除
<dependencies>
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.8.1</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.11</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.11</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-schemas</artifactId>
<version>3.11</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-scratchpad</artifactId>
<version>3.11</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.3.2</version>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-examples</artifactId>
<version>3.11</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-excelant</artifactId>
<version>3.11</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.41</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.2</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
一:word文档录入;
@Test
public void didposeTestFinal() {
ArrayList<Question> list = new ArrayList<>();
XWPFDocument doc = null;
try{
doc = new XWPFDocument(POIXMLDocument.openPackage("E:/test.docx"));
List<XWPFParagraph> paragraphs = doc.getParagraphs();
System.out.println(paragraphs.size());
/**
* 处理paragraphs
* 每个paragraphs是一行文本内容
*/
String rule = "^[\\d]{1,3}$"; //正则表达式,^表示起始,$表示结束
// String ruleA = "^[A-E]";
Pattern pTitle = Pattern.compile(rule);
//首先确定第一行为试卷标题。title
for (int i = 1;i < paragraphs.size();i++) {
String text = paragraphs.get(i).getParagraphText().trim(); //获取选中行的内容 去空格
//匹配题目,先整行一题
Matcher pTm =