HSSFCellStyle style = null
// 创建表头style
HSSFCellStyle cellStyleTitle = workbook.createCellStyle()
cellStyleTitle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND)// 填充单元格
cellStyleTitle.setFillForegroundColor(HSSFColor.YELLOW.index)
cellStyleTitle.setAlignment(HSSFCellStyle.ALIGN_CENTER)// //居中显示
HSSFRow titleRow = sheet.createRow(0)
for (int i = 0i <titles.lengthi++) {
HSSFCell cell = titleRow.createCell(i)
// cell.setCellStyle(createCellColorStyle(workbook))
cell.setCellStyle(cellStyleTitle)
cell.setCellValue(titles[i])// 给单元格赋值
}
不知道你是具体读取Word里面的什么元素,下面以读取文字和图片为例吧,两个代码示例,你参考看看:
读取文本
import com.spire.doc.Document
import java.io.FileWriter
import java.io.IOException
public class ExtractText {
public static void main(String[] args) throws IOException {
//加载Word文档
Document document = new Document()
document.loadFromFile("C:\\Users\\Administrator\\Desktop\\sample.docx")
//获取文档中的文本保存为String
String text=document.getText()
//将String写入Txt文件
writeStringToTxt(text,"ExtractedText.txt")
}
public static void writeStringToTxt(String content, String txtFileName) throws IOException {
FileWriter fWriter= new FileWriter(txtFileName,true)
try {
fWriter.write(content)
}catch(IOException ex){
ex.printStackTrace()
}finally{
try{
fWriter.flush()
fWriter.close()
} catch (IOException ex) {
ex.printStackTrace()
}
}
}
}
2. 读取图片
import com.spire.doc.Document
import com.spire.doc.documents.DocumentObjectType
import com.spire.doc.fields.DocPicture
import com.spire.doc.interfaces.ICompositeObject
import com.spire.doc.interfaces.IDocumentObject
import javax.imageio.ImageIO
import java.awt.image.BufferedImage
import java.io.File
import java.io.IOException
import java.util.ArrayList
import java.util.LinkedList
import java.util.List
import java.util.Queue
public class ExtractImages {
public static void main(String[] args) throws IOException {
//加载Word文档
Document document = new Document()
document.loadFromFile("C:\\Users\\Administrator\\Desktop\\sample.docx")
//创建Queue对象
Queue nodes = new LinkedList()
nodes.add(document)
//创建List对象
List images = new ArrayList()
//遍历文档中的子对象
while (nodes.size() >0) {
ICompositeObject node = nodes.poll()
for (int i = 0i <node.getChildObjects().getCount()i++) {
IDocumentObject child = node.getChildObjects().get(i)
if (child instanceof ICompositeObject) {
nodes.add((ICompositeObject) child)
//获取图片并添加到List
if (child.getDocumentObjectType() == DocumentObjectType.Picture) {
DocPicture picture = (DocPicture) child
images.add(picture.getImage())
}
}
}
}
//将图片保存为PNG格式文件
for (int i = 0i <images.size()i++) {
File file = new File(String.format("output/图片-%d.png", i))
ImageIO.write(images.get(i), "PNG", file)
}
}
}
注意这里使用的jar包是spire.doc.jar,需要在java程序中先导入jar文件。
1、下载poi相关jar,maven的集成如下:(把${poi.version}替换成你要的版本)
<dependency><groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>${poi.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>${poi.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-schemas</artifactId>
<version>${poi.version}</version>
<scope>provided</scope>
</dependency>
2、根据poi相关api读取sheet、row、cell,获得excel的数据:
封装row的对象,即每一行数据为一个对象,每个cell为对象里的一个属性,
整个sheet的数据装进集合里;
3、处理数据,可以对数据进行验证或其他操作;
4、写数据库操作。