jxl写图片示例

来源:互联网 发布:淘宝几十块钱的vr质量 编辑:程序博客网 时间:2024/06/05 23:42

import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;

import javax.imageio.ImageIO;

import jxl.Workbook;
import jxl.write.WritableImage;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;

/**
 * jxl 插入图片(图像格式只支持png)
 * @author arthur zil */
public class JxlWriteImg {
    /**
     *
     * @param filePath
     */
    private void writeImg(String filePath) throws Exception {
     //String rootPath = ResourceUtility.getString("UPLOAD_FILE_ROOT_PATH");
        OutputStream os = null;
        try {
         //图片路径及名称
            String imgPath = "d://attachment.png";
//            文件流创建
            os = new FileOutputStream(filePath);
           
            WritableWorkbook wwb = Workbook.createWorkbook(os);
            //创建sheet页,起始位置为0,名称为testsheet
            WritableSheet ws = wwb.createSheet("testsheet", 0);
            //读入图片文件,jxl只能操作png格式文件
            File imgFile = new File(imgPath);

           

            //==============================
            //取文件宽高
//            File fileImage = new File(imgPath);
//            BufferedImage bufImage = ImageIO.read(fileImage);
//            double height = bufImage.getHeight();
//            double width = bufImage.getWidth();
           
//            WritableImage image1 = new WritableImage(1, 4, 6, 18, fileImage);         
//           
//            ws.addImage(image1);

            //======================================
            // WritableImage(col, row, width, height, imgFile);
//           图片的写入位置,3.4为列位置,大约是三列的中间位置,行是第三行,宽是该列宽度的40%,高为列的高度,插入的图片为imgFile所指向的png图片
            WritableImage image = new WritableImage(3.4, 3, 0.4, 1, imgFile);
          //写入图片
            ws.addImage(image);
            wwb.write();
            wwb.close();

        } catch (Exception e) {
            System.out.println(e);
        } finally {
            if (null != os) {
                os.close();
            }
        }
    }

    /**
     * @param args
     * @throws Exception
     */
    public static void main(String[] args) throws Exception {
        String filePath = "D://IGICS0214.xls";
        JxlWriteImg jxlWriteImg = new JxlWriteImg();
        jxlWriteImg.writeImg(filePath);

    }

}

原创粉丝点击