테이블이있는 워드 문서를 생성하려고합니다. 한 페이지 만 있고 5 개의 행과 2 개의 열이 있습니다. 레터 페이지를 사용하고 있으며 크기는 8.5 "x 11"입니다. 그리고 프로그램에 마진을주었습니다.
다음은 내 코드입니다.
XWPFDocument xWPFDocument = new XWPFDocument();
CTSectPr cTSectPr = xWPFDocument.getDocument().getBody().addNewSectPr();
CTPageMar cTPageMar = cTSectPr.addNewPgMar();
cTPageMar.setLeft(BigInteger.valueOf(475));
cTPageMar.setTop(BigInteger.valueOf(720));
cTPageMar.setRight(BigInteger.valueOf(446));
cTPageMar.setBottom(BigInteger.valueOf(605));
XWPFTable xWPFTable = xWPFDocument.createTable(5, 2);
xWPFTable.getCTTbl().getTblPr().unsetTblBorders();
xWPFTable.setTableAlignment(TableRowAlign.CENTER);
xWPFTable.setWidth("100%");
그리고 다음 코드를 사용하여 셀 너비와 행 높이를 설정하고 있습니다. 그러나 나는 어떤 변화도 눈치 채지 못하고 있습니다.
XWPFTableRow xWPFTableRow;
for (int i = 0; i < 5; i++) {
xWPFTableRow = xWPFTable.getRow(i);
xWPFTableRow.setHeight(2880);
xWPFTableRow.getCell(i).getCTTc().addNewTcPr().addNewTcW().setW(BigInteger.valueOf(6033));
}
내가 찾고있는 것은 설정 방법 Horizontal and Vertical Spacing
이며 Horizontal and Vertical Pitch
Apache POI를 사용하여 설정하는 방법이 있습니까? 누구든지 나를 도와 줄 수 있습니까? 매우 감사합니다. 대단히 감사합니다.
현재이 apache poi 4.1.2
방법 제공 A가 될 수 있는 폭 비율을 제공 뿐 아니라 .setWidth(java.lang.String widthValue)
widthValue
String
XWPFTable
XWPFTableCell
지금까지 셀 간격 설정은 직접 지원되지 않습니다. 따라서이를 위해 기본 ooxml-schemas
클래스를 사용해야합니다.
완전한 예 :
import java.io.FileOutputStream;
import org.apache.poi.xwpf.usermodel.*;
public class CreateWordTableCellSpacing {
public static void main(String[] args) throws Exception {
XWPFDocument document = new XWPFDocument();
XWPFParagraph paragraph = document.createParagraph();
XWPFRun run = paragraph.createRun();
run.setText("The table");
int cols = 3;
int rows = 3;
XWPFTable table = document.createTable(rows, cols);
table.setWidth("100%");
table.getRow(0).getCell(0).setWidth("20%");
table.getRow(0).getCell(1).setWidth("30%");
table.getRow(0).getCell(2).setWidth("50%");
//set spacing between cells
table.getCTTbl()
.getTblPr()
.addNewTblCellSpacing()
.setType(
org.openxmlformats.schemas.wordprocessingml.x2006.main.STTblWidth.DXA
);
table.getCTTbl()
.getTblPr()
.getTblCellSpacing()
.setW(java.math.BigInteger.valueOf(
180 // 180 TWentieths of an Inch Point (Twips) = 180/20 = 9 pt = 9/72 = 0.125"
));
paragraph = document.createParagraph();
FileOutputStream out = new FileOutputStream("CreateWordTableCellSpacing.docx");
document.write(out);
out.close();
document.close();
}
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다