本文目录一览:
- 1、java中poi自动生成ppt的表格,怎样合并行列
- 2、poi怎么在ppt中生成图表(如:柱图、曲线图之类)
- 3、java 用POI转换PPT的问题
- 4、怎样合并行列,java中poi自动生成ppt的表格
- 5、POI之PPT导出最简单实例
java中poi自动生成ppt的表格,怎样合并行列
HSSFSheet sh = wb.createSheet();
HSSFRow row = sh.createRow(0);
HSSFCell cell = row.createCell((short)0);
sh.addMergedRegion(new Region(0, (short) (0), 1, (short) (0)));
// 单元格合并
// 四个参数分别是:起始行,起始列,结束行,结束列,我写这个表示第一第二行合并
poi怎么在ppt中生成图表(如:柱图、曲线图之类)
告诉你个小秘密:别指望单独拿poi生成图表了,生成不了。 要么就用poi整合excel下的vba生成图表,要不就就用报表软件比如jfreechart预先生成图表图片,然后把图表图片引入excel中。 我常用第二种方法。
java 用POI转换PPT的问题
Shape[] sh = slide[i].getShapes();
如果这页里面有Picture元素,应该是可以得到的。我用poi写出了一个带图的ppt,然后用instanceof测试过,这是没问题的。
可能因为你需要读取的ppt不够规范,比如一个人加图一个习惯,有的人喜欢直接放图,有的人喜欢把图放在某个容器上之类的。
还有可能出问题的地方就是确定有底图的页面没用母板?
怎样合并行列,java中poi自动生成ppt的表格
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.util.Region;
public class ExcelTest {
/**
* @param args
*/
public static void main(String[] args) throws IOException {
try {
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("new sheet");
HSSFCellStyle style = wb.createCellStyle(); // 样式对象
style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);// 垂直
style.setAlignment(HSSFCellStyle.ALIGN_CENTER);// 水平
HSSFRow row = sheet.createRow((short) 0);
HSSFRow row2 = sheet.createRow((short) 1);
sheet.addMergedRegion(new Region(0, (short) 0, 1, (short) 0));
HSSFCell ce = row.createCell((short) 0);
ce.setEncoding(HSSFCell.ENCODING_UTF_16);// 中文处理
ce.setCellValue("项目\\日期"); // 表格的第一行第一列显示的数据
ce.setCellStyle(style); // 样式,居中
int num = 0;
for (int i = 0; i 9; i++) { // 循环9次,每一次都要跨单元格显示
// 计算从那个单元格跨到那一格
int celln = 0;
int celle = 0;
if (i == 0) {
celln = 0;
celle = 1;
} else {
celln = (i * 2);
celle = (i * 2 + 1);
}
// 单元格合并
// 四个参数分别是:起始行,起始列,结束行,结束列
sheet.addMergedRegion(new Region(0, (short) (celln + 1), 0,
(short) (celle + 1)));
HSSFCell cell = row.createCell((short) (celln + 1));
cell.setCellValue("merging" + i); // 跨单元格显示的数据
cell.setCellStyle(style); // 样式
POI之PPT导出最简单实例
有个四岁的小鬼问我:哥哥你怎么长得那么丑啊?
我想了想,到他耳边说:你不要告诉别人哦。其实我就是未来的你。
他哭了。。。
如何实现一个最简单的PPT导出功能呢???
一步一步地,没打算写太多,感觉写的篇幅过长,大都没什么耐心看下去,所以每次都只解决一个小问题,开始吧......
下面是对POI的各种文件做一些简单介绍:
下面是来自POI文档里对类的介绍:
HSLFSlideShow:
This class contains the main functionality for the Powerpoint file "reader".(该类包含PTT读的主要功能)
SlideShow:
This class is a friendly wrapper on top of the more scary HSLFSlideShow. TODO: - figure out how to match notes to their correct sheet (will involve understanding DocSlideList and DocNotesList) - handle Slide creation cleaner
(可以把该类理解为Slide管理类)
Slide
This class represents a slide in a PowerPoint Document. It allows access to the text within, and the layout. For now, it only does the text side of things though(该类代表PPT里的一页幻灯片,Slide英文意思为幻灯片)
TextBox:
Represents a TextFrame shape in PowerPoint.(在PPT里代表一个文本框)
Contains the text in a text frame as well as the properties and methods that control alignment and anchoring of the text.
例一:最简单的PPT生成实例,是针对 .ppt 格式做介绍,下一章,我们用 .pptx 做介绍
结果:
来自《岁月的童话》