Excel导入图片 apache的poi 导入

try {
                //添加上传导入本人照片
                HSSFPatriarch patriarch = sheet.createDrawingPatriarch();
                /**
                 * 创建一个新的客户端锚点,附加到excel工作表,并设置左上角和右下角
                 *
                 * @param realX1  图片的左上角在开始单元格(col1,row1)中的横坐标
                 * @param realY1  图片的左上角在开始单元格(col1,row1)中的纵坐标
                 * @param realX2  图片的右下角在结束单元格(col2,row2)中的横坐标
                 * @param realY2  图片的右下角在结束单元格(col2,row2)中的纵坐标
                 * @param col1  开始单元格所处的列号, base 0, 图片左上角在开始单元格内
                 * @param row1  开始单元格所处的行号, base 0, 图片左上角在开始单元格内
                 * @param col2  结束单元格所处的列号, base 0, 图片右下角在结束单元格内
                 * @param row2  结束单元格所处的行号, base 0, 图片右下角在结束单元格内
                 * */
                HSSFClientAnchor anchor = new HSSFClientAnchor(0, 0, 1023, 255, (short)7, 1, (short)7, 5);
                // 图片字节流
                ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream();
                //String pathroot = SysConfigUtil.getConfigItemValue("fujian.upload", "D:/oauploadfile/");
                String pathroot = RequestContextUtils.getWebApplicationContext(request).getServletContext().getRealPath("/");
                String image = basicInfo.getImage();
                File file = new File(pathroot+image);
                BufferedImage bufferImg = ImageIO.read(file);
                ImageIO.write(bufferImg, "jpg", byteArrayOut);
                byte[] imgtypes = byteArrayOut.toByteArray();
                /*
                 * 在工作簿中添加一张图片,返回图片的索引,base 1
                 * @param pictureType 图片类型 PICTURE_TYPE_JPEG|PICTURE_TYPE_PNG
                 **/
                int puctureIndex = workbook.addPicture(imgtypes, HSSFWorkbook.PICTURE_TYPE_JPEG);
                // 创建图片
                patriarch.createPicture(anchor, puctureIndex);
                //createRowAndCell(basicInfo.getGender(), row, cell,7);
            } catch (IOException e) {
                e.printStackTrace();
            }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用 Apache POI 可以很方便地操作 Excel 文件。下面是一个简单的示例代码,演示如何使用 Apache POI 导入 Excel 文件: ```java import java.io.File; import java.io.FileInputStream; import java.io.IOException; import org.apache.poi.ss.usermodel.Cell; 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.ss.usermodel.WorkbookFactory; public class ExcelImporter { public static void main(String[] args) { try { // 创建文件输入流 FileInputStream fis = new FileInputStream(new File("test.xlsx")); // 通过 WorkbookFactory 创建 Workbook 对象 Workbook workbook = WorkbookFactory.create(fis); // 获取第一个 sheet Sheet sheet = workbook.getSheetAt(0); // 遍历 sheet 中所有的行 for (Row row : sheet) { // 遍历行中的所有单元格 for (Cell cell : row) { // 打印单元格的值 System.out.print(cell + "\t"); } System.out.println(); } // 关闭文件输入流 fis.close(); } catch (IOException e) { e.printStackTrace(); } } } ``` 在这个示例中,我们首先创建了一个文件输入流,然后通过 `WorkbookFactory` 创建了一个 `Workbook` 对象。接着,我们获取了第一个 sheet,并遍历了 sheet 中的所有行和单元格,打印出每个单元格的值。最后,我们关闭了文件输入流。 需要注意的是,这里假设我们要导入Excel 文件名为 `test.xlsx`,并且该文件和示例代码在同一个目录下。如果文件名或路径不同,需要根据实际情况修改代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值