jxl excel图片问题

问题描述

每天数据都有图片但是导出大量的数据时,图片位置就会串,而且如果我某一条数据没有图片,那么图片就会上传一行,请问要怎么解决呢? 请各位帮忙!package Tool;import java.io.File;import java.io.OutputStream;import java.sql.Connection;import java.sql.ResultSet;import java.sql.Statement;import jxl.Workbook;import jxl.format.Colour;import jxl.write.Label;import jxl.write.WritableCellFormat;import jxl.write.WritableFont;import jxl.write.WritableImage;public class LedgerDataPort {// 导出数据public void export(OutputStream os,Connection con)throws Exception {Statement stmt = con.createStatement(); Statement smt = con.createStatement();ResultSet rs = null;try {String sql;sql = "select id as '序列', photo as '图片',produces as '生产厂家',nuclideName as '核素名',outActivite as '出厂活度',outDate as '日期',classes as '类别',code as '国家编码',status as '状态',saveAdd as '保存地址', remark as '备注',ratify as '审批状态'"+ "from LedgerMessage where ratify ='1'";rs = stmt.executeQuery(sql);// 用JXL向新建的文件中添加内容jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(os);jxl.write.WritableSheet ws = wwb.createSheet("台帐信息表", 0);WritableFont wfobj=new WritableFont(WritableFont.ARIAL, 12, WritableFont.BOLD); WritableCellFormat cfobj=new WritableCellFormat(wfobj); cfobj.setBackground(Colour.PINK); cfobj.setWrap(true);int i = 0;////// int j = 0;jxl.write.Label labelC = new jxl.write.Label(0, 0, "序列");Label lblImage=new Label(1,0,"Image", cfobj);ws.addCell(lblImage); WritableImage imgobj=new WritableImage(0, 0, 3, 5, new File("D:/sunset.png"));ws.addImage(imgobj);ws.addCell(labelC);for (int k = 1; k < rs.getMetaData().getColumnCount(); k++) {labelC = new jxl.write.Label(k, 0, rs.getMetaData().getColumnName(k + 1));ws.addCell(labelC);}while (rs.next()) {labelC = new jxl.write.Label(0, i + 1, i + 1 + ""); // 为序列赋值ws.addCell(labelC);for (int k = 1; k < rs.getMetaData().getColumnCount(); k++) {//System.out.println("rs.getString(k + 1) --> "+rs.getString(k + 1) + " k --> "+k);labelC = new jxl.write.Label(k, i + 1, rs.getString(k + 1));ws.addCell(labelC);}ResultSet rst = smt.executeQuery("select * from LedgerMessage where ratify ='1'");rst.close();i++;}wwb.write();wwb.close();} catch (Exception e) {System.out.print(e);e.printStackTrace();} finally {rs.close();smt.close();stmt.close();con.close();}}}

解决方案

当某一行数据没有图片的时候,只是放置图片的额单元格,数据排版不是预想的结果,当没有该条记录没有图片,你进行判断,'图片'这个字段没有数据,你就addCell(new Label(col,ros,""));添加一个空格,站位,防止数据乱了。
解决方案二:
没有数据你也得设计一行啊 不能留着不设置啊 不然行数肯定不对啊。

时间: 2024-11-09 01:57:39

jxl excel图片问题的相关文章

用Excel图片批注功能实现鼠触互动效果

有时候,为了制作信息量大又简洁的表格,我们需要为Excel表格的单元格添加可隐藏的图片,并且当鼠标指向单元格,就自动显示图片,移开则不显示,这个鼠触互动效果是不是很酷? 要实现Excel表格中鼠标指向单元格就出现相关图片的互动效果,只要通过Excel 2007的添加图片批注功能就可以轻松做到. 下面,我们以制作产品列表为例,展示具体的添加图片方法. 鼠标指向单元格,自动显示预设图片 单个添加图片 右击目标单元格,选择"添加批注",删除批注输入框中所有文字,接着鼠标移动到批注输入框的边线

用Excel图片批注功能做鼠触图片显示

有时候,为了制作信息量大又简洁的表格,我们需要为Excel表格的单元格添加可隐藏的图片,并且当鼠标指向单元格,就自动显示图片,移开则不显示,这个鼠触互动效果是不是很酷? 要实现Excel表格中鼠标指向单元格就出现相关图片的互动效果,只要通过Excel 2007的添加图片批注功能就可以轻松做到. 下面,我们以制作产品列表为例,展示具体的添加图片方法. 鼠标指向单元格,自动显示预设图片 单个添加图片 右击目标单元格,选择"添加批注",删除批注输入框中所有文字,接着鼠标移动到批注输入框的边线

excel图片-C# 获取Excel文件中的图片。是否需要第三方类库

问题描述 C# 获取Excel文件中的图片.是否需要第三方类库 要用C#程序做一个商品资料导入功能. Excel文件中有商品图片.商品图片所在的列是固定的,如何获取第一行的图片呢. 解决方案 微软的操作office的dll就行,或者NPIO 解决方案二: C#操作excel(读取excel里的图片并show在页面上) http://www.cnblogs.com/MR_ke/archive/2010/03/08/1680576.html

c#excel 图片导出功能

问题描述 各位前辈,小弟遇到一个使用Microsoft.Excel控件导出winform上图片功能的问题.我会将界面上的图片先保存到本地.image.Save("c:/pic.jpg");objectmissing=System.Reflection.Missing.Value;Microsoft.Office.Interop.Excel.Picturesp=Worksheet.Pictures(missing)asMicrosoft.Office.Interop.Excel.Pict

JXL插入图片后单元格边框问题

问题描述 请教各位了:插入图片使用的是这么两句(我也成功了):WritableImagef=newWritableImage(i,r,1,1,img);worksheet.addImage(f);但是此处没有Cell就无法设置单元格边框了这应该是个常见问题吧大家都是怎么解决的谢谢了 解决方案 解决方案二:ddddddddddddddddddddddddddd解决方案三:该回复于2011-01-26 15:46:12被版主删除解决方案四:该回复于2011-01-27 11:09:21被版主删除

C#向Excel报表中插入图片的2种方法

这几天做向Excel插入数据,其中有插入图片的需求,经试验,下面2种方法都可以插入图片,但各有不同的用处.现将这2种方法共享出来,希望需要的朋友进行参考,代码中已经有详细注释了. 注意:使用之前需要引用COM:Microsoft Office 11.0 Object Library 如果引用列表中没有,需要自行添加 C:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE 调用方法: MengXianhui.Utility.ExcelReport.

Excel怎么去除图片背景

虽然Excel表格主要是以表格数据为主,但是为了美化表格我们也会给Excel加入图片,而通常图片都带有它本身的背景,与表格不相匹配,所以小编今天就来教教大家Excel中怎么去除图片背景? ①选择工作表中要去除背景的图片; Excel ②单击功能区中的"格式"-->"调整"-->"删除背景"按钮,进入图片编辑状态.拖动矩形边框四周上的控制点,以便圈出最终要保留的图片区域; Excel ③完成图片区域的选定后,单击图片区域外部,或单击功能

Excel去除图片背景的方法

有时候我们为了美化表格需要给Excel中加入图片,但图片背景却和表格不太匹配,于是就需要去除图片背景.今天小编就教你在Excel2010中怎么去除图片背景. ①选择工作表中要去除背景的图片; ②单击功能区中的"格式"-->"调整"-->"删除背景"按钮,进入图片编辑状态.拖动矩形边框四周上的控制点,以便圈出最终要保留的图片区域; ③完成图片区域的选定后,单击图片区域外部,或单击功能区中的"背景清除"-->&q

怎么读取excel单元格的里面的文字与图片

问题描述 怎么获取excel里面图文混排的内容,现在只能获取到文字,或者获取到所有图片,就是不能把他们把文字与图片这样的排版读取出来. 解决方案 解决方案二:图片的类型和文字的类型是不一样的.楼主可以考虑做一个多维的数组,分别用来存储text,image和相互之间对应的位置关系index.解决方案三:引用1楼hawkkclg的回复: 图片的类型和文字的类型是不一样的.楼主可以考虑做一个多维的数组,分别用来存储text,image和相互之间对应的位置关系index. 怎么得到位置关系呢?这个不会啊