解决方案 »

  1.   

    你用空白串写到有图片的cell里试试呗?
      

  2.   

    哇,大神来临,小菜太感动了…… 其实它不是将图片插入某一个单元格,而是读进来workbook,然后设置图片的锚点(应该是放到哪个位置,而不是哪个单元格),我试过您说的方法,是不管用的。我现在的解决办法是维持两份Excel,一份作为更新的源文件(里面没有图片)所以产生有图片的Excel会将以前的目标Excel覆盖掉,好吧,我是这个做的。
      

  3.   

    不是大神
    POI用的不多,刚才看了个示例:import org.apache.poi.hssf.usermodel.*;
    import java.io.*;
    public class testTools{
         public static void main(String[] args){
            try {
                FileInputStream is = new FileInputStream("d://test.xls");
                HSSFWorkbook workbook = new HSSFWorkbook(is);
                HSSFSheet sheet = workbook.getSheetAt(0);
                sheet.shiftRows(1, 4, -1);//删除第一行到第四行,然后使下方单元格上移
                FileOutputStream os = new FileOutputStream("d://test.xls");
                workbook.write(os);
                is.close();
                os.close();
            } catch (Exception e) { 
                e.printStackTrace();
            }
         }
    }这个示例不是解决你的问题的,而是说,输入输出流都在同一份文档上。
    本质上和你的副本方式一样,只是这样就不用真的创建副本文件了。
      

  4.   

    呃,这个我试过,它就会出现这样的问题,就是如果原来有图片的话,就会出现图片重叠的情况,就是原来的图片还是会存在。我在poi的官方论坛上好像也看到了相关的问题,但是没有给解决办法。。