2014-12-24 2 views
3

Apache POI를 사용하여 단어로 XWPFTable을 만들었습니다. 이제 테이블에 column.Now의 텍스트가 제대로 표시됩니다. 크기와 함께 텍스트의 서식을 지정하려고합니다. , 글꼴 등등. 내가 어떻게 할 수 있니? 모든 트릭은 달리기 옵션과 관련이있다.하지만 나는 TableRow에있다. 내가 지금까지해온 것을 보라.Apache POI에서 XWPFTable의 텍스트 서식을 지정하는 방법

 XWPFTable tableTwo = document.createTable(); 
     XWPFTableRow tableTwoRowOne = tableTwo.getRow(0); 
     tableTwo.getCTTbl().getTblPr().unsetTblBorders(); 
     tableTwoRowOne.getCell(0).setText("No Match – Location: "); 
     tableTwoRowOne.addNewTableCell().setText("Prospect has expressed unwillingness to relocate or is based out of area where commute is not feasible"); 


XWPFTableRow tableTwoRowTwo = tableTwo.createRow(); 
     tableTwoRowTwo.getCell(0).setText("No Match – Scalability: "); 
     tableTwoRowTwo.getCell(1).setText("Prospect’s recent organizational size, structure, and complexity is not scalable to client’s environment"); 

나는 테이블 테이블의 텍스트를 포맷팅하고 싶습니다. 어떻게 테이블 2와 테이블 2를 만들 수 있습니까?

답변

11

셀에 단락을 추가하십시오.

XWPFTableRow rowOne = table.getRow(0); 
       XWPFParagraph paragraph = rowOne.getCell(0).addParagraph(); 
       setRun(paragraph.createRun() , "Calibre LIght" , 10, "2b5079" , "Some string" , false, false); 

private static void setRun (XWPFRun run , String fontFamily , int fontSize , String colorRGB , String text , boolean bold , boolean addBreak) { 
     run.setFontFamily(fontFamily); 
     run.setFontSize(fontSize); 
     run.setColor(colorRGB); 
     run.setText(text); 
     run.setBold(bold); 
     if (addBreak) run.addBreak(); 
    } 

일반적으로 이것은 셀에 단락을 하나 더 추가하지만 셀에는 이미 하나가 있습니다. 먼저 셀의 단락을 제거한 다음 새 단락을 추가하십시오. 그렇지 않으면 결과는 새 단락 앞에 빈 행이됩니다.

rowOne.getCell(0).removeParagraph(0); 
+0

paragraphRefTitle은 무엇을 나타 냅니까? – fall

+0

@fall 답을 수정했습니다. paragraphRefTitle = 단락 – makkasi

3

간단한 해결책을 찾았습니다.

XWPFTable table = document.createTable(); 
XWPFTableRow row = table.insertNewTableRow(0); 
XWPFRun run = row.addNewTableCell().addParagraph().createRun(); 
run.setBold(true);run.setText("Your Text"); 

개체를 실행하는 데 다른 텍스트 서식 함수를 추가 할 수 있습니다.

0

감사합니다. 아래 코드는 저에게도 도움이되었습니다. 필자의 경우에는 PLACE HOLDER를 다른 텍스트로 바꿨습니다.

for (XWPFTableCell cell : cells) {      
    String cellTextString = cell.getText();      

    if (cellTextString != null && cellTextString.contains(placeholder)) { 
     cellTextString = cellTextString.replace(placeholder,waterMarkText); 

     cell.removeParagraph(0); 

     XWPFParagraph addParagraph = cell.addParagraph(); 
     XWPFRun run = addParagraph.createRun(); 
     run.setFontFamily("Calibri"); 
     run.setFontSize(10); 
     run.setText(cellTextString); 

    }     
} 
관련 문제