本文整理汇总了Java中org.docx4j.wml.Tc类的典型用法代码示例。如果您正苦于以下问题:Java Tc类的具体用法?Java Tc怎么用?Java Tc使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
Tc类属于org.docx4j.wml包,在下文中一共展示了Tc类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: addStyling
import org.docx4j.wml.Tc; //导入依赖的package包/类
/**
* 这里我们添加实际的样式信息, 首先创建一个段落, 然后创建以单元格内容作为值的文本对象;
* 第三步, 创建一个被称为运行块的对象, 它是一块或多块拥有共同属性的文本的容器, 并将文本对象添加
* 到其中. 随后我们将运行块R添加到段落内容中.
* 直到现在我们所做的还没有添加任何样式, 为了达到目标, 我们创建运行块属性对象并给它添加各种样式.
* 这些运行块的属性随后被添加到运行块. 最后段落被添加到表格的单元格中.
*/
public void addStyling(Tc tableCell, String content, boolean bold, String fontSize) {
P paragraph = factory.createP();
Text text = factory.createText();
text.setValue(content);
R run = factory.createR();
run.getContent().add(text);
paragraph.getContent().add(run);
RPr runProperties = factory.createRPr();
if (bold) {
addBoldStyle(runProperties);
}
if (fontSize != null && !fontSize.isEmpty()) {
setFontSize(runProperties, fontSize);
}
run.setRPr(runProperties);
tableCell.getContent().add(paragraph);
}
开发者ID:vindell,项目名称:docx4j-template,代码行数:32,代码来源:WordprocessingMLPackageRender.java
示例2: addMergedCell
import org.docx4j.wml.Tc; //导入依赖的package包/类
/**
* 我们创建一个单元格和单元格属性对象.
* 也创建了一个纵向合并对象. 如果合并值不为null, 将它设置到合并对象中. 然后将该对象添加到
* 单元格属性并将属性添加到单元格中. 最后设置单元格内容并将单元格添加到行中.
* 如果合并值为'restart', 表明要开始一个新行. 如果为null, 继续按前面的行处理, 也就是合并单元格.
*/
public void addMergedCell(Tr row, String content, String vMergeVal) {
Tc tableCell = factory.createTc();
TcPr tableCellProperties = new TcPr();
VMerge merge = new VMerge();
if(vMergeVal != null){
merge.setVal(vMergeVal);
}
tableCellProperties.setVMerge(merge);
tableCell.setTcPr(tableCellProperties);
if(content != null) {
tableCell.getContent().add(wmlPackage.getMainDocumentPart(). createParagraphOfText(content));
}
row.getContent().add(tableCell);
}
开发者ID:vindell,项目名称:docx4j-template,代码行数:24,代码来源:WordprocessingMLPackageRender.java
示例3: getTcByPosition
import org.docx4j.wml.Tc; //导入依赖的package包/类
public Tc getTcByPosition(List<Tc> tcList, int position) {
int k = 0;
for (int i = 0, len = tcList.size(); i < len; i++) {
Tc tc = tcList.get(i);
TcPr trPr = tc.getTcPr();
if (trPr != null) {
GridSpan gridSpan = trPr.getGridSpan();
if (gridSpan != null) {
k += gridSpan.getVal().intValue() - 1;
}
}
if (k >= position) {
return tcList.get(i);
}
k++;
}
if (position < tcList.size()) {
return tcList.get(position);
}
return null;
}
开发者ID:vindell,项目名称:docx4j-template,代码行数:22,代码来源:WmlElementUtils.java
示例4: getTcCellSizeWithMergeNum
import org.docx4j.wml.Tc; //导入依赖的package包/类
/**
* @Description: 得到行的列数
*/
public int getTcCellSizeWithMergeNum(Tr tr) {
int cellSize = 1;
List<Tc> tcList = getTrAllCell(tr);
if (tcList == null || tcList.size() == 0) {
return cellSize;
}
cellSize = tcList.size();
for (Tc tc : tcList) {
TcPr tcPr = getTcPr(tc);
GridSpan gridSpan = tcPr.getGridSpan();
if (gridSpan != null) {
cellSize += gridSpan.getVal().intValue() - 1;
}
}
return cellSize;
}
开发者ID:vindell,项目名称:docx4j-template,代码行数:20,代码来源:Docx4j_工具类_S3_Test.java
示例5: setTcHidden
import org.docx4j.wml.Tc; //导入依赖的package包/类
/**
* @Description: 隐藏单元格内容
*/
public void setTcHidden(Tc tc, boolean hidden) {
List<P> pList = getTcAllP(tc);
for (P p : pList) {
PPr ppr = getPPr(p);
List<Object> objRList = getAllElementFromObject(p, R.class);
if (objRList == null) {
continue;
}
for (Object objR : objRList) {
if (objR instanceof R) {
R r = (R) objR;
RPr rpr = getRPr(r);
setRPrVanishStyle(rpr, hidden);
}
}
setParaVanish(ppr, hidden);
}
}
开发者ID:vindell,项目名称:docx4j-template,代码行数:22,代码来源:Docx4j_工具类_S3_Test.java
示例6: getTcByPosition
import org.docx4j.wml.Tc; //导入依赖的package包/类
/**
* 实现思路:
主要分在当前行上方插入行和在当前行下方插入行。对首尾2行特殊处理,在有跨行合并情况时,在第一行上面或者在最后一行下面插入是不会跨行的但是可能会跨列。
对于中间的行,主要参照当前行,如果当前行跨行,则新增行也跨行,如果当前行单元格结束跨行,则新增的上方插入行跨行,下方插入行不跨行,如果当前行单元格开始跨行,则新增的上方插入行不跨行,下发插入行跨行。
主要思路就是这样,插入的时候需要得到真实位置的单元格,代码如下:
*/
// 按位置得到单元格(考虑跨列合并情况)
public Tc getTcByPosition(List<Tc> tcList, int position) {
int k = 0;
for (int i = 0, len = tcList.size(); i < len; i++) {
Tc tc = tcList.get(i);
TcPr trPr = tc.getTcPr();
if (trPr != null) {
GridSpan gridSpan = trPr.getGridSpan();
if (gridSpan != null) {
k += gridSpan.getVal().intValue() - 1;
}
}
if (k >= position) {
return tcList.get(i);
}
k++;
}
if (position < tcList.size()) {
return tcList.get(position);
}
return null;
}
开发者ID:vindell,项目名称:docx4j-template,代码行数:29,代码来源:Docx4j_工具类_S3_Test.java
示例7: setNewTcContent
import org.docx4j.wml.Tc; //导入依赖的package包/类
/**
* 设置单元格内容
*
* @param tc
* @param content
*/
public static void setNewTcContent(Tc tc, String content) {
P p = factory.createP();
tc.getContent().add(p);
R run = factory.createR();
p.getContent().add(run);
if (content != null) {
String[] contentArr = content.split("\n");
Text text = factory.createText();
text.setSpace("preserve");
text.setValue(contentArr[0]);
run.getContent().add(text);
for (int i = 1, len = contentArr.length; i < len; i++) {
Br br = factory.createBr();
run.getContent().add(br);// 换行
text = factory.createText();
text.setSpace("preserve");
text.setValue(contentArr[i]);
run.getContent().add(text);
}
}
}
开发者ID:vindell,项目名称:docx4j-template,代码行数:29,代码来源:Docx4j_替换模板.java
示例8: mergeCellsVertically
import org.docx4j.wml.Tc; //导入依赖的package包/类
/**
* @Description: 跨行合并
*/
public static void mergeCellsVertically(Tbl tbl, int col, int fromRow, int toRow) {
if (col < 0 || fromRow < 0 || toRow < 0) {
return;
}
for (int rowIndex = fromRow; rowIndex <= toRow; rowIndex++) {
Tc tc = getTc(tbl, rowIndex, col);
if (tc == null) {
break;
}
TcPr tcPr = getTcPr(tc);
VMerge vMerge = tcPr.getVMerge();
if (vMerge == null) {
vMerge = factory.createTcPrInnerVMerge();
tcPr.setVMerge(vMerge);
}
if (rowIndex == fromRow) {
vMerge.setVal("restart");
} else {
vMerge.setVal("continue");
}
}
}
开发者ID:vindell,项目名称:docx4j-template,代码行数:26,代码来源:Docx4j_替换模板.java
示例9: addMergedCell
import org.docx4j.wml.Tc; //导入依赖的package包/类
/**
* 我们创建一个单元格和单元格属性对象.
* 也创建了一个纵向合并对象. 如果合并值不为null, 将它设置到合并对象中. 然后将该对象添加到
* 单元格属性并将属性添加到单元格中. 最后设置单元格内容并将单元格添加到行中.
*
* 如果合并值为'restart', 表明要开始一个新行. 如果为null, 继续按前面的行处理, 也就是合并单元格.
*/
private static void addMergedCell(Tr row, String content, String vMergeVal) {
Tc tableCell = factory.createTc();
TcPr tableCellProperties = new TcPr();
VMerge merge = new VMerge();
if(vMergeVal != null){
merge.setVal(vMergeVal);
}
tableCellProperties.setVMerge(merge);
tableCell.setTcPr(tableCellProperties);
if(content != null) {
tableCell.getContent().add(
wordMLPackage.getMainDocumentPart().
createParagraphOfText(content));
}
row.getContent().add(tableCell);
}
开发者ID:vindell,项目名称:docx4j-template,代码行数:27,代码来源:TableWithMergedCells.java
示例10: addStyling
import org.docx4j.wml.Tc; //导入依赖的package包/类
/**
* 这里我们添加实际的样式信息, 首先创建一个段落, 然后创建以单元格内容作为值的文本对象;
* 第三步, 创建一个被称为运行块的对象, 它是一块或多块拥有共同属性的文本的容器, 并将文本对象添加
* 到其中. 随后我们将运行块R添加到段落内容中.
* 直到现在我们所做的还没有添加任何样式, 为了达到目标, 我们创建运行块属性对象并给它添加各种样式.
* 这些运行块的属性随后被添加到运行块. 最后段落被添加到表格的单元格中.
*/
private static void addStyling(Tc tableCell, String content, boolean bold, String fontSize) {
P paragraph = factory.createP();
Text text = factory.createText();
text.setValue(content);
R run = factory.createR();
run.getContent().add(text);
paragraph.getContent().add(run);
RPr runProperties = factory.createRPr();
if (bold) {
addBoldStyle(runProperties);
}
if (fontSize != null && !fontSize.isEmpty()) {
setFontSize(runProperties, fontSize);
}
run.setRPr(runProperties);
tableCell.getContent().add(paragraph);
}
开发者ID:vindell,项目名称:docx4j-template,代码行数:32,代码来源:TableWithStyledContent.java
示例11: applyGridSpan
import org.docx4j.wml.Tc; //导入依赖的package包/类
private static void applyGridSpan( final Tc cell, final int colSpan, final String rowSpan, int w, boolean mergedVertical ) {
TcPr tcPr = factory.createTcPr();
TblWidth tblWidth = factory.createTblWidth();
tblWidth.setType( "dxa" );
tblWidth.setW( BigInteger.valueOf( w*colSpan ) );
tcPr.setTcW( tblWidth );
if ( colSpan > 1) {
GridSpan gridSpan = factory.createTcPrInnerGridSpan();
gridSpan.setVal(BigInteger.valueOf(colSpan));
tcPr.setGridSpan(gridSpan);
}
if ( mergedVertical ) {
//logger.debug(" this is vertical span");
VMerge gridVSpan = factory.createTcPrInnerVMerge();
if (rowSpan != null)
gridVSpan.setVal(rowSpan);
tcPr.setVMerge(gridVSpan);
}
cell.setTcPr(tcPr);
}
开发者ID:Transkribus,项目名称:TranskribusCore,代码行数:26,代码来源:DocxBuilder.java
示例12: paragraphsInNestedTablesAreRemoved
import org.docx4j.wml.Tc; //导入依赖的package包/类
private void paragraphsInNestedTablesAreRemoved(WordprocessingMLPackage document) {
final List<Tbl> tables = new ArrayList<>();
CoordinatesWalker walker = new BaseCoordinatesWalker(document) {
@Override
protected void onTable(TableCoordinates tableCoordinates) {
tables.add(tableCoordinates.getTable());
}
};
walker.walk();
Tbl nestedTable = tables.get(1);
Tc cell = (Tc) ((JAXBElement) ((Tr) nestedTable.getContent().get(1)).getContent().get(0)).getValue();
P p1 = (P) cell.getContent().get(0);
Assert.assertEquals(1, cell.getContent().size());
Assert.assertEquals("This paragraph stays untouched.", new ParagraphWrapper(p1).getText());
}
开发者ID:thombergs,项目名称:docx-stamper,代码行数:18,代码来源:ConditionalDisplayOfParagraphsTest.java
示例13: addTableCell
import org.docx4j.wml.Tc; //导入依赖的package包/类
private void addTableCell(Tr tableRow, BandElement be, P paragraph, int width, Map<String, Object> style, int horizontalMergedCells, String verticalMergedVal, boolean isImage) {
Tc tableCell = factory.createTc();
if (isImage) {
addImageCellStyle(tableCell, be, paragraph, style);
} else {
addHyperlinkCellStyle(tableCell, be, paragraph, style);
}
setCellWidth(tableCell, width);
setCellVMerge(tableCell, verticalMergedVal);
setCellHMerge(tableCell, horizontalMergedCells);
if (!isImage) {
if ((be != null) && !be.isWrapText()) {
setCellNoWrap(tableCell);
}
}
tableRow.getContent().add(tableCell);
}
开发者ID:nextreports,项目名称:nextreports-engine,代码行数:18,代码来源:DocxExporter.java
示例14: addHyperlinkCellStyle
import org.docx4j.wml.Tc; //导入依赖的package包/类
private void addHyperlinkCellStyle(Tc tableCell, BandElement be, P hyperlink, Map<String, Object> style) {
setCellMargins(tableCell, style);
setBackground(tableCell, style);
setVerticalAlignment(tableCell, style);
setHorizontalAlignment(hyperlink, style);
setCellBorders(tableCell, style);
R run = (R) ((org.docx4j.wml.P.Hyperlink)hyperlink.getContent().get(0)).getContent().get(0);
RPr runProperties = run.getRPr();
setFont(tableCell, style, runProperties);
if (be != null) {
setTextDirection(tableCell, be.getTextRotation());
}
tableCell.getContent().add(hyperlink);
}
开发者ID:nextreports,项目名称:nextreports-engine,代码行数:17,代码来源:DocxExporter.java
示例15: addTableCellWithWidth
import org.docx4j.wml.Tc; //导入依赖的package包/类
/**
* 本方法创建一个单元格并将给定的内容添加进去.
* 如果给定的宽度大于0, 将这个宽度设置到单元格.
* 最后, 将单元格添加到行中.
*/
public void addTableCellWithWidth(Tr row, String content, int width){
Tc tableCell = factory.createTc();
tableCell.getContent().add(wmlPackage.getMainDocumentPart().createParagraphOfText(content));
if (width > 0) {
setCellWidth(tableCell, width);
}
row.getContent().add(tableCell);
}
开发者ID:vindell,项目名称:docx4j-template,代码行数:14,代码来源:WordprocessingMLPackageRender.java
示例16: setCellWidth
import org.docx4j.wml.Tc; //导入依赖的package包/类
/**
* 本方法创建一个单元格属性集对象和一个表格宽度对象. 将给定的宽度设置到宽度对象然后将其添加到 属性集对象. 最后将属性集对象设置到单元格中.
*/
public void setCellWidth(Tc tableCell, int width) {
TcPr tableCellProperties = new TcPr();
TblWidth tableWidth = new TblWidth();
tableWidth.setW(BigInteger.valueOf(width));
tableCellProperties.setTcW(tableWidth);
tableCell.setTcPr(tableCellProperties);
}
开发者ID:vindell,项目名称:docx4j-template,代码行数:11,代码来源:WordprocessingMLPackageRender.java
示例17: addTableCell
import org.docx4j.wml.Tc; //导入依赖的package包/类
private static void addTableCell(Tr tableRow, String content) {
Tc tableCell = factory.createTc();
tableCell.getContent().add(
wordMLPackage.getMainDocumentPart().createParagraphOfText(
content));
tableRow.getContent().add(tableCell);
}
开发者ID:vindell,项目名称:docx4j-template,代码行数:8,代码来源:AddingATable.java
示例18: mergeCellsHorizontal
import org.docx4j.wml.Tc; //导入依赖的package包/类
/**
* @Description: 跨列合并
*/
public void mergeCellsHorizontal(Tbl tbl, int row, int fromCell, int toCell) {
if (row < 0 || fromCell < 0 || toCell < 0) {
return;
}
List<Tr> trList = getTblAllTr(tbl);
if (row > trList.size()) {
return;
}
Tr tr = trList.get(row);
List<Tc> tcList = getTrAllCell(tr);
for (int cellIndex = fromCell, len = Math
.min(tcList.size() - 1, toCell); cellIndex <= len; cellIndex++) {
Tc tc = tcList.get(cellIndex);
TcPr tcPr = getTcPr(tc);
HMerge hMerge = tcPr.getHMerge();
if (hMerge == null) {
hMerge = new HMerge();
tcPr.setHMerge(hMerge);
}
if (cellIndex == fromCell) {
hMerge.setVal("restart");
} else {
hMerge.setVal("continue");
}
}
}
开发者ID:vindell,项目名称:docx4j-template,代码行数:30,代码来源:Docx4j_工具类_S3_Test.java
示例19: getTc
import org.docx4j.wml.Tc; //导入依赖的package包/类
/**
* @Description:得到指定位置的单元格
*/
public Tc getTc(Tbl tbl, int row, int cell) {
if (row < 0 || cell < 0) {
return null;
}
List<Tr> trList = getTblAllTr(tbl);
if (row >= trList.size()) {
return null;
}
List<Tc> tcList = getTrAllCell(trList.get(row));
if (cell >= tcList.size()) {
return null;
}
return tcList.get(cell);
}
开发者ID:vindell,项目名称:docx4j-template,代码行数:18,代码来源:Docx4j_工具类_S3_Test.java
示例20: getTblContentList
import org.docx4j.wml.Tc; //导入依赖的package包/类
/**
* @Description: 获取表格内容
*/
public List<String> getTblContentList(Tbl tbl) throws Exception {
List<String> resultList = new ArrayList<String>();
List<Tr> trList = getTblAllTr(tbl);
for (Tr tr : trList) {
StringBuffer sb = new StringBuffer();
List<Tc> tcList = getTrAllCell(tr);
for (Tc tc : tcList) {
sb.append(getElementContent(tc) + ",");
}
resultList.add(sb.toString());
}
return resultList;
}
开发者ID:vindell,项目名称:docx4j-template,代码行数:17,代码来源:Docx4j_工具类_S3_Test.java
注:本文中的org.docx4j.wml.Tc类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论