帮解决POI插入图片问题,送分,送十Q币,在线等 如题,将一个包含图片的EXCEL中,插入一个图片。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 有代码的加我QQ,51731213,解决就送Q币 有代码的加我QQ,51731213,解决就送Q币 有代码的加我QQ,51731213,解决就送Q币 LZ啥意思? 是往EXCEL中插入图片还是往已经存在有图片的EXCEL中再插入图片? java还不会做,但用别的语言(如:VB)我是有案例的 用jxl吧,现成的API,以前用过还不错。贴点代码供楼主参考import java.io.*;import jxl.write.Label;import jxl.write.WritableCellFormat;import jxl.write.WritableFont;import jxl.write.WritableImage;首先,给这个文件起名字. //得到当前日期 SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); Calendar rightNow = Calendar.getInstance(); Date now = rightNow.getTime(); String today = sdf.format(now).toString(); String pathpath=System.getProperty("user.dir")+"/jxldemo"+today+".xls"; //System.getProperty("user.dir") 能得到当前类的路径 声明文件流,打开文件 //声明,和写文件没什么不一样的。 File file= new File(pathpath);//pathpath文件路径 jxl.write.WritableWorkbook wwb = jxl.Workbook.createWorkbook(file);//转换成excel像是 jxl.write.WritableSheet ws = wwb.createSheet("接口巡检表",0);//创建<接口巡检表>Sheet Label labelC = null; //在这里设置具体写在什么位置 这个是有文件已经有了,你打开看一下就会发现有一个名字是"接口巡检表"的空 Sheet 插入图片: File fileImage=new File(System.getProperty("user.dir")+"/logo.png"); WritableImage image=new WritableImage(0, 0,2,3,fileImage);//从A1开始 跨2行3个单元格 ws.addImage(image);//ws是SheetWritableImage 图像操作, 设置文字格式,下面生成2个 例子 WritableCellFormat timesBoldUnderline = null; //9号 粗体 WritableFont font9 = new WritableFont (WritableFont.TIMES,9,WritableFont.BOLD,false); timesBoldUnderline = new WritableCellFormat(font9); //水平居中 timesBoldUnderline.setAlignment(jxl.format.Alignment.CENTRE); //垂直居中 timesBoldUnderline.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE); //全边框 timesBoldUnderline.setBorder(jxl.format.Border.ALL,jxl.format.BorderLineStyle.THIN); //宋体9号 左对齐 WritableCellFormat BoldUnderlineLEFT = null; WritableFont times9ptBoldUnderlineLEFT = new WritableFont(WritableFont.createFont("宋体"),9); BoldUnderlineLEFT = new WritableCellFormat(times9ptBoldUnderlineLEFT); BoldUnderlineLEFT.setAlignment(jxl.format.Alignment.LEFT); BoldUnderlineLEFT.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE); BoldUnderlineLEFT.setBorder(jxl.format.Border.ALL,jxl.format.BorderLineStyle.THIN); BoldUnderlineLEFT 和 timesBoldUnderline 就是编辑好的2个格式,添加文字的时候 就可以用了. 插入文字 // A1单元格写入, timesBoldUnderline是WritableCellFormat字体 labelC=new jxl.write.Label(0,0,"巡检表",timesBoldUnderline); //合并单元格,跨8个单元格.3列 ws.mergeCells(0,0,8,3); //添加进去 ws.addCell(labelC); labelC=new jxl.write.Label(1,1,"没有格式的文字写入"); ws.addCell(labelC); labelC=new jxl.write.Label(1,2,"带有文字样式的文字写入",timesBoldUnderline); ws.addCell(labelC); labelC=new jxl.write.Label(1,3,"设置宽高",timesBoldUnderline); ws.setColumnView(1,15); //设置单元格 高1 宽15 ws.addCell(labelC); 写入 关闭 wwb.write(); wwb.close(); Java 笔试题目(文件读写流) 关于java键盘输入的问题 菜鸟搞不懂 大哥帮下 其实我是一个程序员 java继承的实际操作? 程序问题???//需要决绝下 再问个问题,厚厚~~~~ 做SCJP在线测试的时候遇到的一个问题(2) 请问java网络传递信息如何传递?? [讨论]Java SOAP学习之路 我的窗口上有3个jpanel,我想在窗口上实现功能,根据菜单选择,可以在执行时选择窗口布局方式,可以么?我的代码怎么没反应呢? cobocode 编译的问题!!! 生成内部类的语法是这样吗???
import java.io.*;
import jxl.write.Label;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableImage;
首先,给这个文件起名字.
//得到当前日期
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
Calendar rightNow = Calendar.getInstance();
Date now = rightNow.getTime();
String today = sdf.format(now).toString();
String pathpath=System.getProperty("user.dir")+"/jxldemo"+today+".xls";
//System.getProperty("user.dir") 能得到当前类的路径 声明文件流,打开文件
//声明,和写文件没什么不一样的。
File file= new File(pathpath);//pathpath文件路径
jxl.write.WritableWorkbook wwb = jxl.Workbook.createWorkbook(file);//转换成excel像是
jxl.write.WritableSheet ws = wwb.createSheet("接口巡检表",0);//创建<接口巡检表>Sheet
Label labelC = null; //在这里设置具体写在什么位置
这个是有文件已经有了,你打开看一下就会发现有一个名字是"接口巡检表"的空 Sheet 插入图片:
File fileImage=new File(System.getProperty("user.dir")+"/logo.png");
WritableImage image=new WritableImage(0, 0,2,3,fileImage);//从A1开始 跨2行3个单元格
ws.addImage(image);//ws是SheetWritableImage 图像操作,
设置文字格式,下面生成2个 例子
WritableCellFormat timesBoldUnderline = null;
//9号 粗体
WritableFont font9 = new WritableFont (WritableFont.TIMES,9,WritableFont.BOLD,false);
timesBoldUnderline = new WritableCellFormat(font9);
//水平居中
timesBoldUnderline.setAlignment(jxl.format.Alignment.CENTRE);
//垂直居中
timesBoldUnderline.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);
//全边框
timesBoldUnderline.setBorder(jxl.format.Border.ALL,jxl.format.BorderLineStyle.THIN); //宋体9号 左对齐
WritableCellFormat BoldUnderlineLEFT = null;
WritableFont times9ptBoldUnderlineLEFT = new WritableFont(WritableFont.createFont("宋体"),9);
BoldUnderlineLEFT = new WritableCellFormat(times9ptBoldUnderlineLEFT);
BoldUnderlineLEFT.setAlignment(jxl.format.Alignment.LEFT);
BoldUnderlineLEFT.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);
BoldUnderlineLEFT.setBorder(jxl.format.Border.ALL,jxl.format.BorderLineStyle.THIN);
BoldUnderlineLEFT 和 timesBoldUnderline 就是编辑好的2个格式,添加文字的时候 就可以用了. 插入文字
// A1单元格写入, timesBoldUnderline是WritableCellFormat字体
labelC=new jxl.write.Label(0,0,"巡检表",timesBoldUnderline);
//合并单元格,跨8个单元格.3列
ws.mergeCells(0,0,8,3);
//添加进去
ws.addCell(labelC); labelC=new jxl.write.Label(1,1,"没有格式的文字写入");
ws.addCell(labelC);
labelC=new jxl.write.Label(1,2,"带有文字样式的文字写入",timesBoldUnderline);
ws.addCell(labelC);
labelC=new jxl.write.Label(1,3,"设置宽高",timesBoldUnderline);
ws.setColumnView(1,15); //设置单元格 高1 宽15
ws.addCell(labelC); 写入 关闭 wwb.write();
wwb.close();