如何将数据库中的图片导出到excel里面,并以图片的形式显示出来

如何将数据库中的图片导出到excel里面,并以图片的形式显示出来


主要代码如下:这里面是main方法,可以拷到开发工具里跑一下。具体开发可以具体参照一下。

package com.fh.util;
import java.awt.image.BufferedImage;  
import java.io.ByteArrayOutputStream;  
import java.io.File;  
import java.io.FileOutputStream;  
import java.io.IOException;  
 
import javax.imageio.ImageIO;  
 
import org.apache.poi.hssf.usermodel.HSSFClientAnchor;  
import org.apache.poi.hssf.usermodel.HSSFPatriarch;  
import org.apache.poi.hssf.usermodel.HSSFSheet;  
import org.apache.poi.hssf.usermodel.HSSFWorkbook;  
public class AAAA {

    public static void main(String[] args) {
             FileOutputStream fileOut = null;  
            BufferedImage bufferImg = null;//图片
            try {  
                // 先把读进来的图片放到一个ByteArrayOutputStream中,以便产生ByteArray  
                ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream();  
                //将图片读到BufferedImage  
                bufferImg = ImageIO.read(new File("C:/Users/uctimes/Desktop/1.jpg"));  
                // 将图片写入流中  
                ImageIO.write(bufferImg, "png", byteArrayOut);  
                // 创建一个工作薄  
                HSSFWorkbook wb = new HSSFWorkbook();  
                //创建一个sheet  
                HSSFSheet sheet = wb.createSheet("out put excel");  
                // 利用HSSFPatriarch将图片写入EXCEL  
                HSSFPatriarch patriarch = sheet.createDrawingPatriarch();  
                /**
                 * 该构造函数有8个参数
                 * 前四个参数是控制图片在单元格的位置,分别是图片距离单元格left,top,right,bottom的像素距离
                 * 后四个参数,前连个表示图片左上角所在的cellNum和 rowNum,后天个参数对应的表示图片右下角所在的cellNum和 rowNum,
                 * excel中的cellNum和rowNum的index都是从0开始的
                 *  
                 */  
                //图片一导出到单元格B2中  
                HSSFClientAnchor anchor = new HSSFClientAnchor(0, 0, 0, 0,  
                        (short) 10, 1, (short) 11, 2);  
                // 插入图片  
                patriarch.createPicture(anchor, wb.addPicture(byteArrayOut  
                        .toByteArray(), HSSFWorkbook.PICTURE_TYPE_JPEG));  
                //生成的excel文件地址
                fileOut = new FileOutputStream("C:/Users/uctimes/Downloads/123.xls");  
                // 写入excel文件  
                wb.write(fileOut);  
            } catch (IOException io) {  
                io.printStackTrace();  
                System.out.println("io erorr : " + io.getMessage());  
            } finally {  
                if (fileOut != null) {  
                    try {  
                        fileOut.close();  
                    } catch (IOException e) {  
                        e.printStackTrace();  
                    }  
                }  
            }  
    }
}

实现的效果如下图:
在这里插入图片描述
本文参照 https://www.cnblogs.com/wzj666/p/9200483.html 如有不懂可以与其联系。

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 是的,在微信小程序可以通过使用云函数来一键导出云开发数据库的数据到 Excel 表格。 首先,需要使用 Node.js 的第三方库来读取和写入 Excel 文件,例如可以使用 exceljs 或者 xlsx 库。 其次,可以在云函数使用云开发的 API 来查询云数据库的数据,然后使用所选的第三方库将数据写入 Excel 表格。 最后,可以在云函数使用 API 将 Excel 表格以二进制形式生成并返回给小程序,小程序再通过文件下载的方式将 Excel 表格保存到本地。 总的来说,导出云开发数据库的数据到 Excel 表格是可行的,但需要注意的是,需要对第三方库和云函数有一定的了解,并且在小程序操作文件下载也可能有一定的复杂度。 ### 回答2: 在微信小程序,我们可以通过使用云开发数据库 API 和导出 SDK,实现一键导出云开发数据库的数据到一个 Excel 表格。 首先,我们需要创建一个云函数,用于实现将云开发数据库的数据导出Excel 表格的功能。在该云函数,我们可以使用云开发数据库 API 查询所需的数据,并将数据转换为 Excel 格式。 其次,我们需要在小程序端调用云函数。用户点击导出按钮后,触发调用云函数的事件。通过小程序的 wx.cloud.callFunction() 调用云函数接口,并传入所需参数。 接着,在云函数,我们将查询到的数据转换为 Excel 格式。可以使用一些开源的库来实现该功能,如 exceljs、xlsx 等。 最后,将转换后的 Excel 数据保存在云存储,并返回文件在云存储的路径给小程序。小程序可以通过该路径下载该 Excel 文件。 总结来说,在微信小程序,我们可以使用云开发的能力结合云函数、API 和云存储,一键导出云开发数据库的数据到一个 Excel 表格。通过前后端的协作,实现数据的查询、转换以及保存,并最终返回给用户一个可下载的 Excel 文件。 ### 回答3: 在微信小程序,我们可以通过使用云开发数据库和第三方库,实现一键导出数据库的数据到Excel表格。 首先,我们需要在小程序代码引入支持Excel导出功能的第三方库,例如`exportExcel`。 然后,通过调用云开发的API,获取数据库的数据。可以使用`cloud.database()`创建数据库实例,再通过实例调用`collection`方法指定要操作的集合,最后使用`get`方法获取数据。 获取到数据后,我们可以将数据进行格式处理,比如转换成适合Excel的结构,例如将数据转换成二维数组。 接下来,我们可以使用第三方库`exportExcel`提供的方法,将数据数组导出Excel表格。我们需要使用该库的导出方法,并提供导出的文件名、表头和数据等参数。导出过程可能需要一些时间,在导出完成后,可以提供下载链接或将表格保存到本地。 总体而言,我们可以通过结合云开发的数据库和第三方库的功能,实现在微信小程序一键导出云开发数据库的数据到Excel表格。当然,具体实现过程还需根据实际情况进行调试和开发。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值