3

我正在使用 APACHE POI 创建包含表格的 word doc。表格如下所示,我想用rowspan和colspan创建单元格(如图)。

在此处输入图像描述

是否可以使用 APACHE POI ?

是否有任何其他相同的java库。任何帮助表示赞赏。

4

1 回答 1

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();}
    }

       } 
于 2013-07-24T13:43:19.930 回答