java实现图片用Excel画出来
本文实例为大家分享了java用Excel将图片画出来的具体代码,供大家参考,具体内容如下
创新互联服务项目包括满洲网站建设、满洲网站制作、满洲网页制作以及满洲网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,满洲网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到满洲省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
能够将任何图片在excel上利用单元格背景完整的描绘出来。
像网络上出现的用excel画出超级玛丽等等,各种图片都能在excel上"画"出来。
图片我没有经过特殊处理,所以转换的图片不能太大,有多大的图片就要有多少的单元格。如640*480就有307200的单元格。
如要转换的图片:

转换后在excel中的效果:

没多大意义练练手:
import java.awt.Color;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.Locale;
import javax.swing.ImageIcon;
import jxl.Workbook;
import jxl.WorkbookSettings;
import jxl.format.Colour;
import jxl.read.biff.BiffException;
import jxl.write.Label;
import jxl.write.WritableCellFormat;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
public class Helper {
private BufferedImage getBufferedImage(String filepath)
{
ImageIcon imgicon=new ImageIcon(filepath);
BufferedImage bufferedImage = new BufferedImage(imgicon.getIconWidth(),imgicon.getIconHeight(),BufferedImage.TYPE_INT_RGB);
bufferedImage.createGraphics().drawImage(imgicon.getImage(), 0, 0,null);
return bufferedImage;
}
private Colour getNearestColour(Color awtColor) {
Colour color = null;
Colour[] colors = Colour.getAllColours();
if ((colors != null) && (colors.length > 0)) {
Colour crtColor = null;
int[] rgb = null;
int diff = 0;
int minDiff = 999;
for (int i = 0; i < colors.length; i++) {
crtColor = colors[i];
rgb = new int[3];
rgb[0] = crtColor.getDefaultRGB().getRed();
rgb[1] = crtColor.getDefaultRGB().getGreen();
rgb[2] = crtColor.getDefaultRGB().getBlue();
diff = Math.abs(rgb[0] - awtColor.getRed())
+ Math.abs(rgb[1] - awtColor.getGreen())
+ Math.abs(rgb[2] - awtColor.getBlue());
if (diff < minDiff) {
minDiff = diff;
color = crtColor;
}
}
}
if (color == null)
color = Colour.BLACK;
return color;
}
public void exec(String convertFromImage,String createxls) throws Exception
{
WorkbookSettings ws = new WorkbookSettings();
ws.setLocale(new Locale("en", "EN"));
WritableWorkbook workbook = Workbook.createWorkbook(new File(createxls), ws);
WritableSheet s2 = workbook.createSheet("picture", 0);
BufferedImage buffimage= getBufferedImage(convertFromImage);
int width=buffimage.getWidth();
int heigh=buffimage.getHeight();
for(int i=0;i以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持创新互联。
当前文章:java实现图片用Excel画出来
分享链接:http://www.jxjierui.cn/article/jchgii.html


咨询
建站咨询
