freeer通过模板文件生成excel文件 excel2007提示格式不一致怎样处理

解决方案 »

  1.   

    试试把Excel模板用更高或最新的版本保存一下,重新生成的应该就可以了,不行的话我也不知道了
      

  2.   

    先谢谢回复,模板需要保存为xml格式 而excel只能另存为2003对应的xml,导出的excel都能打开  只是2007会提示格式不一致  不知道如何才能没有这个提示
      

  3.   

    右键用记事本看看能否打开你生产的Excel文件。正常情况是无法打开的。可以打开的话,说明文件格式有问题,一般文件开头的几个字节码是用来标识文件格式的。
      

  4.   

    请问,你有试过Excel导出图片吗?图片一直导出不了,头都大了
      

  5.   

    把excel表格用文本打开,如果能打开,并且看到是xml格式的数据,那么就是你的ftl模板设置有问题,再模板中找到ss:ExpandedRowCount,把这个值设大,或者动态从程序中传入一个值进去,如果不是这种情况,那么修改一下后缀,把.xls修改为.xlsx,或者把.xlsx修改为.xls
      

  6.   

    ss:StyleID的值要保持一致
      

  7.   

    1、Column中的ss:StyleID的值要保持一致 ;
    2、Row中的属性值要和传输的属性名一致;
      

  8.   

    告诉楼主一个秘密,xlsx格式起始是一个压缩包,解压后是一堆xml,用FreeMark生成主体文件后,再把格式文件打包,命名为 xxx.xlsx
      

  9.   

    我也遇到 这个问题,没找到答案,自己摸索后,发现我自己这边的问题是编码格式的问题。遇到问题的代码如下:
    Configuration config = freeMarkerConfigurer.createConfiguration();
    config.setDefaultEncoding("utf-8");
    String html = FreeMarkers.renderString("/templates/xxxTemplate.xml", params,config);
    后来发现导出的excel文件是ANSI格式的。不知道怎么改成utf-8,所以索性将文件编码改成gbk,测试成功。修改后代码如下:
    Configuration config = freeMarkerConfigurer.createConfiguration();
    config.setDefaultEncoding("gbk");
    String html = FreeMarkers.renderString("/templates/xxxTemplate.xml", params,config);