我正在使用APACHE POI来创建包含表格的word文档。该表如下所示,我想创建带有rowspan和colspan的单元格(如图所示)。
是否可以使用APACHE POI?
是否还有其他任何java库。任何帮助表示赞赏。
答案 0 :(得分:3)
你可以试试这个。
public class Word2Doc {
public static void main(String aaa[]){
System.out.println("This is Word To Document Class");
File file = null;
FileOutputStream fos = null;
XWPFDocument document = null;
XWPFParagraph para = null;
XWPFRun run = null;
try {
// Create the first paragraph and set it's text.
document = new XWPFDocument();
para = document.createParagraph();
para.setAlignment(ParagraphAlignment.CENTER);
para.setSpacingAfter(100);
para.setSpacingAfterLines(10);
run = para.createRun();
run.addBreak(); // similar to new line
run.addBreak();
XWPFTable table = document.createTable(4, 3);
table.setRowBandSize(1);
table.setWidth(1);
table.setColBandSize(1);
table.setCellMargins(1, 1, 100, 30);
table.setStyleID("finest");
table.getRow(1).getCell(1).setText("EXAMPLE OF TABLE");
table.getRow(2).getCell(1).setText("fine");
XWPFParagraph p1 = table.getRow(0).getCell(0).getParagraphs().get(0);
p1.setAlignment(ParagraphAlignment.CENTER);
XWPFRun r1 = p1.createRun();
r1.setBold(true);
r1.setText("Test Name");
r1.setItalic(true);
r1.setFontFamily("Courier");
r1.setUnderline(UnderlinePatterns.DOT_DOT_DASH);
r1.setTextPosition(100);
//Locating the cell values
table.getRow(0).getCell(1).setText("Value");
table.getRow(0).getCell(2).setText("Normal Ranges");
table.getRow(2).getCell(2).setText("numeric values");
table.setWidth(120);
file = new File("c:\\nwhpe.docx");
if(file.exists())
file.delete();
FileOutputStream out = new FileOutputStream(file);
document.write(out);
out.close();
} catch(Exception e){e.printStackTrace();}
}
}