- 浏览: 846437 次
- 性别:
-
最新评论
-
haiyangyiba:
感谢分享,写得挺好的,如果有模板文件参考就更好了
[简单]docx4j替换模板数据示例 -
cm0924:
跨列不支持wps啊 ,有没有解决办法?
[简单]poi创建word 2007表格示例(二) -
ITCCYC:
导出的word用不兼容WPS怎么解决?
[简单]poi导出简单word2007 -
lu438248129:
楼主 为啥我用你的代码,跨列的合并没问题,但是跨行的合并有问 ...
[简单]poi word2007表格单元格合并 -
h702109382:
很好的资源,谢谢
[简单]poi word2007表格单元格合并
文章列表
[简单]itext官网例子链接
- 博客分类:
- itext
http://itextpdf.com/sandbox/acroforms/
http://itextpdf.com/book/examples.php
网上删除行代码:
/**
* Remove a row by its index
* @param sheet a Excel sheet
* @param rowIndex a 0 based index of removing row
*/
public static void removeRow(Sheet sheet, int rowIndex) {
int lastRowNum=sheet.getLastRowNum();
if(rowIndex>=0&&rowIndex<lastRo ...
[简单]poi删除excel 2007超链接
- 博客分类:
- poi
采用解析sheet.xml方式删除超链接,缺点是要打开文件2次,代码如下:
public void removeExcel2007AllHyperLink(String filePath) throws Exception {
OPCPackage ocPkg = OPCPackage.open(new FileInputStream(filePath));
Workbook wb = new XSSFWorkbook(ocPkg);
int totalSheet = wb.getNumberOfSheets();
String savePat ...
结果为:
代码如下:
import java.io.FileOutputStream;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.Font;
import org.apache.poi.ss.usermodel.IndexedColors;
import org.apache.poi.ss.usermodel.Row;
i ...
[简单]poi取消excel2007超链接
- 博客分类:
- poi
使用改变超链接位置的方式实现取消效果,效果如下。
取消后:
代码如下:
public void deleteExcel2007AllHyperLink(String filePath) throws Exception {
XSSFWorkbook wb = new XSSFWorkbook(new FileInputStream(filePath));
Font hylinkFont = wb.createFont();
hylinkFont.setColor(Fon ...
word 2007批注测试数据如下图:
代码执行结果为:
主要思路:
利用docx4j的org.docx4j.finders.CommentFinder类查找所有的批注开始和结束位置,如下图:
...
生成内容控件和读取内容控件代码差不多,读取是get,生成是addNew。往段落和表格外插入内容控件没有实现,部分关键代码如下:
public void setCTSdtPr(CTSdtPr sdtPr, String id, String alias, String tag,
CTRPr rprStyle, boolean isText, boolean isTextMutil,
boolean notDel, boolean notEdit, boolean isDelAfterEdit) {
if (isText) {
// 纯 ...
[简单]poi获取空白表格行列数注意事项
- 博客分类:
- poi
poi获取空白表格行列数时,返回的行列数为1,实际表格没有任何行,如下图:
全文完。
功能介绍: 主要实现往已有表格填充数据,在数据列大于表格列时不会新增列,因为新增列涉及单元格宽度的重新计算,所以没实现,在表格行数小于数据大小时会按照最后一列的列数添加表格行, 然后再插入数据,插入数据时会覆盖原有单元格的数据,也就是覆盖写入,可以指定开始写入数据的行位置。 实现思路: 首先判断开始写入的位置是否大于原有表格的行数,如果大于需要新增行,直到表格行数等于开始写入位置。 然后判断一次能写多少行,可能表格行数小于数据行数,优先在不填充行的情况下把表格写满。 如果表格写满还有数据未写入 ...
首先poi中XWPFTable.addNewRowBetween(start, end);是不能实现插入行功能的,poi3.11版本未实现该功能,如下图:
主要思路如下:
插入行主要分2种情况,(1)在第一行插入或者最后一行插入。(2)在表格中间插入行。 第(1)种:如果在第一行上面插入一行或者最后一行下面插入一行,不需要考虑跨行情况。 如果在第一行下面插入一行或者最后一行上面插入一行,需要考虑跨行情况。 不管那一行插入都需要考虑跨列情况。
第(2)种:在中间插入,若当前行结束 ...
word表格插入一行如下:
实现思路:
主要分在当前行上方插入行和在当前行下方插入行。对首尾2行特殊处理,在有跨行合并情况时,在第一行上面或者在最后一行下面插入是不会跨行的但是可能会跨列。
对于中间的行,主要参照当前行,如果当前行跨行,则新增行也跨行,如果当前行单元格结束跨行,则新增的上方插入行跨行,下方插入行不跨行,如果当前行单元格开始跨行,则新增的上方插入行不跨行,下发插入行跨行。
主要思路就是这样,插入的时候需要得到真实位置的单元格,代码如下:
// 按位置得到单元格( ...
[简单]docx4j表格新增行(Tr)
- 博客分类:
- docx4j
从本篇博文开始,不提供全部的代码,详细代码见http://53873039oycg.iteye.com/blog/2194479。关键代码如下:
/**
* @Description: 在表格指定位置新增一行,默认居中
*/
public void addTrByIndex(Tbl tbl, int index) {
addTrByIndex(tbl, index, STVerticalJc.CENTER, JcEnumeration.CENTER);
}
/**
* @Description: 在表格指定位置新增一行(默 ...
[简单]docx4j合并单元格
- 博客分类:
- docx4j
见代码:
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.JAXBElement;
import org.docx4j.wml.ContentAccessor;
import org.docx4j.wml.Tbl;
import org.docx4j.wml.Tc;
import org.docx4j.wml.TcPr;
import org.docx4j.wml.TcPrInner.Grid ...
word 2007 Wingdings字符操作步骤如下图:
代码很简单:
import java.io.FileOutputStream;
import java.math.BigInteger;
import java.util.List;
import org.apache.poi.xwpf.usermodel.BreakType;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel. ...
[简单]poi创建word 2007表格示例(二)
- 博客分类:
- poi
应博友要求写下这个例子,office word 2007测试通过,见代码:
import java.io.FileOutputStream;
import java.math.BigInteger;
import java.util.List;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.xwpf.usermodel.ParagraphAlignment;
import org.apache.poi.xwpf.usermodel.TextAlignment;
...