「java图表ppt」JAVA图表绘制类库
今天给各位分享java图表ppt的知识,其中也会对JAVA图表绘制类库进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java导出ppt太慢
- 2、用JAVA在界面中实现幻灯片播放,求代码
- 3、java中poi自动生成ppt的表格,怎样合并行列
- 4、java 用POI转换PPT的问题
- 5、eclipse-java读取ppt
- 6、java怎么实现同比环比在同一图表上
java导出ppt太慢
java导出ppt幻灯片可采用API的方法来执行,在java程序中导入spire.presentation.jar,然后执行如下代码:
import com.spire.presentation.*;
import com.spire.presentation.drawing.FillFormatType;
import java.awt.*;
public class TEST {
public static void main(String[] args)throws Exception{
//创建PPT文档(默认包含一页空白幻灯片)
Presentation presentation = new Presentation();
//添加新矩形框到第一个幻灯片
Rectangle rec = new Rectangle((int) presentation.getSlideSize().getSize().getWidth() / 2 - 250, 80, 500, 150);
IAutoShape shape = presentation.getSlides().get(0).getShapes().appendShape(ShapeType.RECTANGLE, rec);
shape.getShapeStyle().getLineColor().setColor(Color.white);
shape.getFill().setFillType(FillFormatType.NONE);
//添加文字到矩形框
shape.appendTextFrame("你好 世界!");
//设置文字的字体和样式
PortionEx textRange = shape.getTextFrame().getTextRange();
textRange.getFill().setFillType(FillFormatType.SOLID);
textRange.getFill().getSolidColor().setColor(Color.blue);
textRange.setFontHeight(66);
textRange.setLatinFont(new TextFont("宋体"));
//保存文档
presentation.saveToFile("helloWorld.pptx", FileFormat.PPTX_2013);
presentation.dispose();
}
}
用JAVA在界面中实现幻灯片播放,求代码
要让照片随机播放,需要把照片名改成比如photo1.jpg,photo2.jpg,photo3.jpg...的有序号顺序排列的文件名,
然后把改名后的照片文件放到你的项目名的目录下,比如你的项目名叫"slideshow",你就把照片文件放到slideshow文件夹下.
最后把下面的Java程序拷贝到你的项目中,把有DD类名的地方改成你的类名,就行了.
完整的让一些照片在JFrame窗体里自动随机播放的幻灯片程序如下
(我用的图片文件是photo1.jpg,photo2.jpg,photo3.jpg,注意事项在注释中注明
import java.awt.Graphics;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
public class DD extends JFrame implements Runnable{
ImageIcon ii=new ImageIcon("photo1.jpg");//这里换成你的图片文件名,放在你的项目名的文件夹中
DD(){
super("Slide");
setSize(400, 400);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public void paint(Graphics g){
super.paint(g);
g.drawImage(ii.getImage(),0,0,400,400,null);
}
@Override
public void run() {
while(true){
try {
Thread.sleep(500);//这里是幻灯片播放间隔的时间,这里为500毫秒=0.5秒
} catch (InterruptedException e) {
e.printStackTrace();
}
int i=(int)(Math.random()*3)+1;//这里是产生从1-3的随机数,如果你有6个图片文件,把3改成6就是从1-6的随机数了.
ii=new ImageIcon("photo"+i+".jpg");//这里调用你的图片文件,如果你有6个图片文件,改成从1-6的文件名方便调用
this.repaint();
}
}
public static void main(String[] args) {
DD d=new DD();
Thread t=new Thread(d);
t.start();
}
}
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)));
// 单元格合并
// 四个参数分别是:起始行,起始列,结束行,结束列,我写这个表示第一第二行合并
java 用POI转换PPT的问题
Shape[] sh = slide[i].getShapes();
如果这页里面有Picture元素,应该是可以得到的。我用poi写出了一个带图的ppt,然后用instanceof测试过,这是没问题的。
可能因为你需要读取的ppt不够规范,比如一个人加图一个习惯,有的人喜欢直接放图,有的人喜欢把图放在某个容器上之类的。
还有可能出问题的地方就是确定有底图的页面没用母板?
eclipse-java读取ppt
java中读取ppt的实现方法如下:
public class ReadFileUtils {
/**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
ReadFileUtils rf = new ReadFileUtils();
String s = "";
// s = rf.readTXT("E:/itsm文档的后缀名分析报告2.txt");
// s = rf.readPDF("E:/memcached全面剖析.pdf");
// s = rf.readEXCEL("E:/副本工作量及成本模板.xls");
// s = rf.readEXCEL2007("E:/功能点估算方案.xlsx");
// s = rf.readWORD("E:/pms中文.doc");
// s = rf.readWORD2007("E:/功能点估算方法.docx");
//s = rf.readPPT("E:/精细化管理信息系统项目汇报v1.0.ppt");
s = rf.readPPT2007("e:/精细化管理信息系统项目汇报v1.0.pptx");
System.out.println(s);
}
// 读取ppt
public String readPPT(String file) throws IOException {
StringBuilder sb = new StringBuilder();
SlideShow ppt = new SlideShow(new HSLFSlideShow(file));
Slide[] slides = ppt.getSlides();
//提取文本信息
for (Slide each : slides) {
TextRun[] textRuns = each.getTextRuns();
for (int i=0 ;i textRuns.length; i++ ) {
RichTextRun[] richTextRuns = textRuns.getRichTextRuns();
for (int j = 0; j richTextRuns.length; j++) {
sb.append(richTextRuns[j].getText());
}
sb.append("\n");
}
sb.append("\n");
}
return sb.toString();
}
// 读取pptx
public String readPPT2007(String file) throws IOException, XmlException, OpenXML4JException {
return new XSLFPowerPointExtractor(POIXMLDocument.openPackage(file)).getText();
}
// 读取xls文件
public String readEXCEL(String file) throws IOException {
StringBuilder content = new StringBuilder();
HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(file));// 创建对Excel工作簿文件的引用
for (int numSheets = 0; numSheets workbook.getNumberOfSheets(); numSheets++) {
if (null != workbook.getSheetAt(numSheets)) {
HSSFSheet aSheet = workbook.getSheetAt(numSheets);// 获得一个sheet
for (int rowNumOfSheet = 0; rowNumOfSheet = aSheet
.getLastRowNum(); rowNumOfSheet++) {
if (null != aSheet.getRow(rowNumOfSheet)) {
HSSFRow aRow = aSheet.getRow(rowNumOfSheet); // 获得一个行
for (short cellNumOfRow = 0; cellNumOfRow = aRow
.getLastCellNum(); cellNumOfRow++) {
if (null != aRow.getCell(cellNumOfRow)) {
HSSFCell aCell = aRow.getCell(cellNumOfRow);// 获得列值
if (this.convertCell(aCell).length() 0) {
content.append(this.convertCell(aCell));
}
}
content.append("\n");
}
}
}
}
}
return content.toString();
}
// 读取xlsx文件
public String readEXCEL2007(String file) throws IOException {
StringBuilder content = new StringBuilder();
XSSFWorkbook workbook = new XSSFWorkbook(file);
for (int numSheets = 0; numSheets workbook.getNumberOfSheets(); numSheets++) {
if (null != workbook.getSheetAt(numSheets)) {
XSSFSheet aSheet = workbook.getSheetAt(numSheets);// 获得一个sheet
for (int rowNumOfSheet = 0; rowNumOfSheet = aSheet
.getLastRowNum(); rowNumOfSheet++) {
if (null != aSheet.getRow(rowNumOfSheet)) {
XSSFRow aRow = aSheet.getRow(rowNumOfSheet); // 获得一个行
for (short cellNumOfRow = 0; cellNumOfRow = aRow
.getLastCellNum(); cellNumOfRow++) {
if (null != aRow.getCell(cellNumOfRow)) {
XSSFCell aCell = aRow.getCell(cellNumOfRow);// 获得列值
if (this.convertCell(aCell).length() 0) {
content.append(this.convertCell(aCell));
}
}
content.append("\n");
}
}
}
}
}
return content.toString();
}
private String convertCell(Cell cell) {
NumberFormat formater = NumberFormat.getInstance();
formater.setGroupingUsed(false);
String cellValue = "";
if (cell == null) {
return cellValue;
}
switch (cell.getCellType()) {
case HSSFCell.CELL_TYPE_NUMERIC:
cellValue = formater.format(cell.getNumericCellValue());
break;
case HSSFCell.CELL_TYPE_STRING:
cellValue = cell.getStringCellValue();
break;
case HSSFCell.CELL_TYPE_BLANK:
cellValue = cell.getStringCellValue();
break;
case HSSFCell.CELL_TYPE_BOOLEAN:
cellValue = Boolean.valueOf(cell.getBooleanCellValue()).toString();
break;
case HSSFCell.CELL_TYPE_ERROR:
cellValue = String.valueOf(cell.getErrorCellValue());
break;
default:
cellValue = "";
}
return cellValue.trim();
}
// 读取pdf文件
public String readPDF(String file) throws IOException {
String result = null;
FileInputStream is = null;
PDDocument document = null;
try {
is = new FileInputStream(file);
PDFParser parser = new PDFParser(is);
parser.parse();
document = parser.getPDDocument();
PDFTextStripper stripper = new PDFTextStripper();
result = stripper.getText(document);
} finally {
if (is != null) {
is.close();
}
if (document != null) {
document.close();
}
}
return result;
}
// 读取doc文件
public String readWORD(String file) throws Exception {
String returnStr = "";
try {
WordExtractor wordExtractor = new WordExtractor(new FileInputStream(new File(file)));
returnStr = wordExtractor.getText();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return returnStr;
}
// 读取docx文件
public String readWORD2007(String file) throws Exception {
return new XWPFWordExtractor(POIXMLDocument.openPackage(file)).getText();
}
// 读取txt文件
public String readTXT(String file) throws IOException {
String encoding = ReadFileUtils.get_charset(new File(file));
if (encoding.equalsIgnoreCase("GBK")) {
return FileUtils.readFileToString(new File(file), "gbk");
} else {
return FileUtils.readFileToString(new File(file), "utf8");
}
}
private static String get_charset(File file) throws IOException {
String charset = "GBK";
byte[] first3Bytes = new byte[3];
BufferedInputStream bis = null;
try {
boolean checked = false;
bis = new BufferedInputStream(new FileInputStream(file));
bis.mark(0);
int read = bis.read(first3Bytes, 0, 3);
if (read == -1)
return charset;
if (first3Bytes[0] == (byte) 0xFF first3Bytes[1] == (byte) 0xFE) {
charset = "UTF-16LE";
checked = true;
} else if (first3Bytes[0] == (byte) 0xFE
first3Bytes[1] == (byte) 0xFF) {
charset = "UTF-16BE";
checked = true;
} else if (first3Bytes[0] == (byte) 0xEF
first3Bytes[1] == (byte) 0xBB
first3Bytes[2] == (byte) 0xBF) {
charset = "UTF-8";
checked = true;
}
bis.reset();
if (!checked) {
// int len = 0;
int loc = 0;
while ((read = bis.read()) != -1) {
loc++;
if (read = 0xF0)
break;
if (0x80 = read read = 0xBF) // 单独出现BF以下的,也算是GBK
break;
if (0xC0 = read read = 0xDF) {
read = bis.read();
if (0x80 = read read = 0xBF) // 双字节 (0xC0 - 0xDF)
// (0x80
// - 0xBF),也可能在GB编码内
continue;
else
break;
} else if (0xE0 = read read = 0xEF) {// 也有可能出错,但是几率较小
read = bis.read();
if (0x80 = read read = 0xBF) {
read = bis.read();
if (0x80 = read read = 0xBF) {
charset = "UTF-8";
break;
} else
break;
} else
break;
}
}
// System.out.println( loc + " " + Integer.toHexString( read )
// );
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (bis != null) {
bis.close();
}
}
return charset;
}
}
java怎么实现同比环比在同一图表上
1、打开一个ppt文档,插入柱状图表
2、添加你需要的数据,
3、可看出相关相关竖坐标是月份,不是我们需要的,点击设计菜单栏下的《切换行/列》
4、初步得到我们需要的图表
5、现在需要把“同比和环比增长率”改成折线形式;
左击“同比增长率”,将系列绘制在“主坐标轴”改成“次坐标轴”;
得到第三个图表
6、现在左击同比增长率的,更改图表类型,变成我们需要的折线图
用同样的方法将“环比增长率”也改成折线图
7、如果想将数据也表示在图表下方,可点击布局下方的《显示数据表选项》,再更改一相右边竖坐标轴的格式,改成百分比格式即可。
关于java图表ppt和JAVA图表绘制类库的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-12-07,除非注明,否则均为
原创文章,转载请注明出处。