`
后人生苟
  • 浏览: 18295 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

java 读写excel图片

 
阅读更多
第一部分:读

package pic;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.Iterator;
import java.util.List;

import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.xssf.usermodel.XSSFPictureData;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class ReadPicFromExcel07 {
public static void main(String[] args) throws Exception {
        /*读EXCEL图片,将excel中的图片保存到桌面上*/
  String basePath = "C:\\Documents and Settings\\Administrator\\桌面\\";
  FileInputStream fis = new FileInputStream(basePath + "pic.xlsx");
  XSSFWorkbook workbook = new XSSFWorkbook(fis);
  fis.close();
  List<XSSFPictureData> pictures = workbook.getAllPictures();
  for (int i = 0; i < pictures.size(); i++) {
   XSSFPictureData pictureData = pictures.get(i);
   byte[] data = pictureData.getData();
   String ext = pictureData.suggestFileExtension();//获取扩展名

   FileOutputStream out = new FileOutputStream(basePath + "img_" + i + "." + ext);
   out.write(data);
   out.close();
  }/*读EXCEL图片完毕*/
 
  /*读EXCEL文字内容*/
  XSSFSheet sheet = workbook.getSheetAt(0);
  Iterator<Row> rows = sheet.rowIterator();
  Row row;Cell cell;
  while(rows.hasNext()){
   row = rows.next();
   Iterator<Cell> cells = row.cellIterator();
   while(cells.hasNext()){
    cell = cells.next();
    System.out.println("RowIndex:"+cell.getRowIndex());
    System.out.println("ColumnIndex:"+cell.getColumnIndex());
    System.out.println("值:"+cell.getStringCellValue());
   }
  }
  /*
   * 图片在excel中,并不属于excel表格中的元素,可以理解为浮在表格上面,无法定格在表格中。
   * */
}
}



第二部分:写

package pic;

import java.io.FileInputStream;
import java.io.FileOutputStream;

import org.apache.poi.ss.usermodel.ClientAnchor;
import org.apache.poi.ss.usermodel.CreationHelper;
import org.apache.poi.ss.usermodel.Drawing;
import org.apache.poi.ss.usermodel.Picture;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.util.IOUtils;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class WritePicToExcel07 {
public static void main(String[] args) throws Exception {
  /* 写EXCEL,将目标excel中图片写入到新的excel中 */
  String basePath = "C:\\Documents and Settings\\Administrator\\桌面\\";
 
  Workbook wb = new XSSFWorkbook();
 
  FileInputStream fis = new FileInputStream(basePath + "img_0.jpeg");
  byte[] bytes = IOUtils.toByteArray(fis);
  int pictureIdx = wb.addPicture(bytes, wb.PICTURE_TYPE_JPEG);
  fis.close();
 
  Sheet sheet = wb.createSheet("sheet1");
  //创建一个顶级容器
  Drawing drawing = sheet.createDrawingPatriarch();
  CreationHelper helper = wb.getCreationHelper();
  ClientAnchor anchor = helper.createClientAnchor();
  anchor.setCol1(3);
     anchor.setRow1(2);
     Picture pict = drawing.createPicture(anchor, pictureIdx);
     //auto-size picture relative to its top-left corner
     pict.resize();//该方法只支持JPEG 和 PNG后缀文件
     String file = "生成的EXCEL.xls";
     if(wb instanceof XSSFWorkbook) file += "x";
     FileOutputStream fos = new FileOutputStream(basePath+file);
 
//  Row row = sheet.createRow(0);//生成第一行
//  row.createCell(0).setCellValue("A");
//  row.createCell(1).setCellValue("B");
  wb.write(fos);
  fos.close();
}
}
分享到:
评论

相关推荐

    Java读取Excel内容

    Java读取Excel内容 v Java读取Excel内容 Java读取Excel内容

    完美解决java读取excel内存溢出问题.rar

    总结来说,解决Java读取Excel内存溢出问题,关键在于合理利用资源、优化代码逻辑以及选择适合的API,如Apache POI的SXSSF。通过这些方法,我们可以在不显著增加系统资源负担的情况下,高效地处理大Excel文件。

    java读取excel数据导入数据库源码

    java读取excel数据导入数据库源码 java读取excel数据导入数据库源码

    java 读取excel内容 创建excel 插入文字及图片

    以上代码示例涵盖了读取Excel内容、创建新的Excel文件、向Excel中插入文字以及插入图片的基本操作。请注意替换代码中的文件路径以匹配你的实际文件位置。通过这些基本操作,你可以根据需求构建更复杂的Excel处理逻辑...

    JAVA读取Excel,建库建表,并生成java实体

    总结,Java读取Excel并进行数据库建库建表及生成Java实体的过程涉及了Apache POI库的使用、数据库操作和源代码生成。理解这些步骤可以帮助你有效地处理类似的任务,提高开发效率。在实际应用中,你还需要考虑错误...

    java poi导出图片到excel示例代码

    在示例代码中,使用了Java POI读取Excel文件,并将其写入到数据库中。首先,需要创建一个Workbook对象,然后使用Workbook对象的getSheet方法获取Excel文件的Sheet对象,最后使用Sheet对象的getRow方法读取Excel文件...

    Java中Excel转图片工具包(纯java)

    1. **Excel转PDF**:首先,我们需要一个能够读取Excel文件并将其导出为PDF格式的库。Apache POI是一个常用的Java库,可以用于处理Microsoft Office文档,包括Excel。通过Apache POI,我们可以读取Excel工作表,然后...

    Java提取EXCEL图片重命名并改变像素大小

    本项目专注于一个特定的需求,即“Java提取EXCEL图片重命名并改变像素大小”。这个功能对于那些需要批量处理Excel文件中的图像,比如统一调整格式、优化存储大小或适应不同展示环境的场景非常有用。下面我们将详细...

    java读写Excel,POI.JAR,Word内容读取

    java读写Excel,POI.JAR,Word内容读取

    Java读取Excel表格中的日期

    ### Java读取Excel表格中的日期 #### 背景与问题描述 在处理Excel文件时,经常遇到的一个问题是如何正确地识别并处理日期格式的数据。这是因为Excel中的日期格式较为复杂,有时甚至会出现不同版本的Excel文件中...

    java读写excel包括utf8转码为可识别汉字gbk

    java读写excel包括utf8转码为可识别汉字gbk,jxl方式读取excel,生成一个新的excel

    java读取excel文件

    Java 读取 Excel 文件 Java 读取 Excel 文件是指使用 Java 语言从 Excel 文件中读取数据,并对其进行处理的过程。下面将详细介绍 Java 读取 Excel 文件的过程和相关知识点。 Java 读取 Excel 文件的步骤 1. 导入...

    java读取excel文件生成矩阵

    在Java编程中,读取Excel文件并生成矩阵是一项常见的任务,尤其在数据分析、报表处理或者数据导入导出的场景下。Excel文件通常用于存储结构化的表格数据,而矩阵则是一种有效的数据表示方式,便于计算和分析。下面...

    java 读取Excel文件中的内容

    在Java编程中,读取Excel文件的内容是一项常见的任务,尤其在数据处理、报表生成或数据分析等领域。Excel文件通常包含表格数据,而Java提供多种库来处理这类任务,比如Apache POI、JExcelApi和OpenCSV等。本篇将重点...

    java读取excel数据!

    在Java编程环境中,读取Excel数据是一项常见的任务,特别是在数据处理、数据分析或系统集成的场景中。本示例中,我们关注的是如何使用Java来读取Excel表格中的数据,并将其保存,这通常涉及到Apache POI库的应用。...

    java读取excel

    "Java 读取 Excel 文件" Java 读取 Excel 文件是 Java 语言中常见的操作之一,通过使用 Apache POI 库,可以轻松地读取 Excel 文件中的数据。本文将通过 ReadExcelUtil 工具类,详细介绍如何读取 Excel 文件。 ...

    Java将Excel文件转为图片

    Excel转图片

    java 导出excel,带图片的Excel导出

    使用POI,我们可以创建、修改和读取Excel文件。对于导出带图片的Excel,我们需要使用它的HSSF(处理老版97-2003 .xls格式)或XSSF(处理.xlsx格式)API。 2. **工作簿和工作表**:在POI中,工作簿(Workbook)代表...

    java实现在Excel中插入图片

    总结起来,Java实现Excel中插入图片的核心步骤包括:导入Apache POI库,创建并操作工作簿和工作表,读取和创建图片对象,创建绘图工作表,设置图片位置,最后保存工作簿。在实际开发中,可能还需要处理图片格式转换...

Global site tag (gtag.js) - Google Analytics