下面是我从网上某处复制的代码,用于将图像文件复制到Excel文件工作表。
但运行语句时出错
“int my_picture_id = my_workbook.addPicture(bytes,Workbook.PICTURE_TYPE_JPEG);”
错误“线程中的异常”主“java.lang.NoClassDefFoundError:
组织/阿帕奇/公/编解码器/消化/ DigestUtils
在org.apache.poi.hssf.usermodel.HSSFWorkbook.addPicture(HSSFWorkbook.java:1610)
在Addphoto.main(Addphoto.java:19)“
我找不到原因,因为我真的是java的新手。请帮助解决这个问题。
import java.io.*;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.hssf.util.*;
import org.apache.poi.util.IOUtils;
import org.apache.poi.hssf.usermodel.HSSFClientAnchor;
public class Addphoto {
public static void main(String[] args) throws Exception{
HSSFWorkbook my_workbook = new HSSFWorkbook();
HSSFSheet my_sheet = my_workbook.createSheet("MyBanner");
InputStream my_banner_image = new FileInputStream("C:/path/123.jpg");
byte[] bytes = IOUtils.toByteArray(my_banner_image);
int my_picture_id = my_workbook.addPicture(bytes, Workbook.PICTURE_TYPE_JPEG);
my_banner_image.close();
HSSFPatriarch drawing = my_sheet.createDrawingPatriarch();
ClientAnchor my_anchor = new HSSFClientAnchor();
my_anchor.setCol1(2);
my_anchor.setRow1(1);
HSSFPicture my_picture = drawing.createPicture(my_anchor, my_picture_id);
my_picture.resize();
FileOutputStream out = new FileOutputStream(new File("C:/path/uploadphoto-test.xls"));
my_workbook.write(out);
out.close();
}
}
答案 0 :(得分:1)
我希望你得到答案.....
但是为了帮助其我我发布这个。
如果您缺少JAR文件commons-codec-1.7.jar,这是Apache Commons Codec发行版的一部分,则会出现此问题。 POI需要此JAR文件才能将图像添加到工作簿。因此,请确保在类路径中包含此JAR文件(或等效版本)。