精华内容
下载资源
问答
  • java web环境需要读取excel表格中的数据,插入到数据库中,需要用到XSSFWorkbook类读表格文件,关键代码如下: //读取excel public static Workbook readExcel(String filePath) { Workbook wb = null; if ...

    一背景介绍

    java web环境需要读取excel表格中的数据,插入到数据库中,需要用到XSSFWorkbook类读表格文件,关键代码如下:

      //读取excel
        public static Workbook readExcel(String filePath) {
            Workbook wb = null;
            if (filePath == null) {
                return null;
            }
            String extString = filePath.substring(filePath.lastIndexOf("."));
            InputStream is = null;
            try {
                is = new FileInputStream(filePath);
                if (".xls".equals(extString)) {
                    return wb = new HSSFWorkbook(is);
                } else if (".xlsx".equals(extString)) {
                    return wb = new XSSFWorkbook(is);
                } else {
                    return wb = null;
                }
    
            } catch (FileNotFoundException e) {
                LOGGER.error(e.toString());
            } catch (IOException e) {
                LOGGER.error(e.toString());
            } 
            return wb;
        }
    

    二 问题发生

    在本地运行,如写个main方法跑或者用@test跑是能正常运行,但是到web上,打断点发现不能找到这个类
    于是尝试升级依赖包
    XSSFWorkbook
    还是不行。不能解决掉,陷入了深深的思考中。对于环境问题和依赖问题,处理起来是真的难受。
    尝试了其他作者给的推荐依赖和版本,还是不行:
    第一个:
    在这里插入图片描述
    第二个:
    在这里插入图片描述

    三 问题解决

    绕过问题,山不过来我过去。
    改变文件格式:即xlsx为xls,最终回到了HSSFWorkbook类读取。

    PATH = "/Users/xxx/work/B/A_info.xlsx";
    

    PATH = "/Users/xxx/work/B/A_info.xls";
    

    这样在web层就能访问了。
    (ps:需要注意的是,如果你直接把.xlsx格式文件变为.xls是不行的,需要先打开文件,点击另存为.xls格式才行,这里不能偷懒,笔者也踩过这个坑)

    展开全文
  • 使用XSSFWorkbook 读取 Excel 报错,“o:relid”是重复的特性名称。各位大神 这个问题该怎样解决?谢了先!
  • POI使用XSSFWorkbook异常

    千次阅读 2018-06-14 18:29:49
    使用poi创建XSSFWorkbook报错: InputStream is = new FileInputStream(file); // 构造 XSSFWorkbook 对象,strPath 传入文件路径 XSSFWorkbook xwb = new XSSFWorkbook(is);异常信息:java.lang.ClassNotFoundE....

    使用poi创建XSSFWorkbook报错:

                            InputStream is = new FileInputStream(file);
    // 构造 XSSFWorkbook 对象,strPath 传入文件路径
    XSSFWorkbook xwb = new XSSFWorkbook(is);


    异常信息:

    rg.apache.poi.POIXMLException: java.lang.reflect.InvocationTargetException...

    java.lang.ClassNotFoundException: org.openxmlformats.schemas.wordprocessingml.x2006.main.impl.CTPIm.....


    XML-BEANS compiled schema: Incompatible minor version - expecting up to 23, got 24 (schemaorg_apache_xmlbeans.system.sE130CAA0A01A7CDE5A2B4FEB8B311707.index) - code 3 at org.apache.xmlbeans.impl.schema.SchemaTypeSystemImpl$XsbReader.<init>(SchemaTypeSystemImpl.java:1522) at org.apache.xmlbeans.impl.schema.SchemaTypeSystem.....


    原因:

    jar包冲突项目中使用了xfire依赖的jar:

        xbean-2.2.0.jar

        xfire-xmlbeans-1.2.6

        xmlbeans-2.3.0.jar

    解决方案:

        删除三个低版本的jar引入高版本的    xmlbeans-2.4.0.jar

                尝试在BuildPath中取消引用之后,依然报错(所以直接删除)

     找到其他几篇其他问题的解决方案,可以参考:

    https://blog.csdn.net/lex1993/article/details/47062141

    https://blog.csdn.net/seashouwang/article/details/24025871

    https://blog.csdn.net/bbc2005/article/details/53783150

    展开全文
  • 使用NPOI导出xlsx格式的Excel时提示: NPOI.POIXMLException类型的未经处理的异常在NPOI.OOXML.dll中发生。 注: 博客主页:https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程...

    场景

    在使用NPOI导出xlsx格式的Excel时提示:

    NPOI.POIXMLException类型的未经处理的异常在NPOI.OOXML.dll中发生。

     

    注:

    博客主页:
    https://blog.csdn.net/badao_liumang_qizhi
    关注公众号
    霸道的程序猿
    获取编程相关电子书、教程推送与免费下载。

    实现

    点击异常的详情查看,找不到所依赖的文件

    ICSharpCode.SharpZipLib

    查看项目的引用只引用了

     

    只引用了NPOI开头的几个dll,NPOI还需要依赖以下两个dll

     将这连个dll添加到引用即可。

    https://www.cnblogs.com/badaoliumangqizhi/p/12986277.html

    展开全文
  • Workbook wb = null; Sheet sheet = null; //temp1 根据后缀判断是xls/xlsx if (suffixName.endsWith("xls")) { wb = new HSSFWorkbook(input); } else if (suffixName.... wb = new XSSFWorkbook...
    Workbook wb = null;
    Sheet sheet = null;
    //temp1 根据后缀判断是xls/xlsx
    if (suffixName.endsWith("xls")) {
        wb = new HSSFWorkbook(input);
    } else if (suffixName.endsWith("xlsx")) {
        wb = new XSSFWorkbook(input);
    }

    new XSSFWorkbook ()的时候 报错。

    具体是执行 

    this._missingCellPolicy = Row.RETURN_NULL_AND_BLANK;

     

    我这里出现的原因是pom文件引包时有冲突,引了两种包,一个是3.14的poi一个是3.17的,把pom里的统一用一个,3.14后,不再报错

    <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi</artifactId>
                <version>3.14</version>
            </dependency>

    因这个问题搜了一下网上的解决方案:
    有的同学是因为你所导入的xlsx文件里有可能有空的单元格。

     

    我公司的网真鸡儿差,一个信息科技有限公司,网络都弄不好,还TM信息,我都感到丢人。MMP

    展开全文
  • 使用最新的POI3.11时,在运行 Workbook workBook = new XSSFWorkbook ();这段代码时出现错误: java.lang.NoSuchMethodError: javax.xml.stream.XMLEventFactory.newFactory()Ljavax/xml/stream/XMLEventFactory;...
  • 使用最新的POI3.11时,在执行 Workbook workBook = new XSSFWorkbook ();这段代码时出现错误: java.lang.NoSuchMethodError: javax.xml.stream.XMLEventFactory.newFactory()Ljavax/xml/stream/...
  • POI读取xlsx的excel new XSSFWorkbook(readFile)报错,这什么问题,jar都导了。 ![图片说明](https://img-ask.csdn.net/upload/201609/19/1474284926_531266.png) ![图片说明]...
  • 查看版本是否一致 之前报错一直再找不到什么原因,后来发现引入版本不一致导致。弄了好久真是醉了。
  • 在for循环中使用上述代码,第一个workbook 写入完成后,报错stream closed。 原因为XSSFWorkbook.write 会自动关闭流,导致后续执行时报stream closed。 解决方法如下: 1、创建一个ByteArrayOutputStream...
  • 最近做javaweb,使用poi做excel导出功能时发现一个bug,在列头合并单元格的时候,开始用的HSSF,报出图片中的错误,找了很久,当把HSSF换成XSSF时就不报错了,可能HSSF隐含的问题,所以大家平时还是使用XSSF...
  • 最近在做的需求中需要将两个Excel合并。...因为其最大只能处理65535行的数据,所以现在已经很少使用了,所以本文直接忽略该方式。 2.XSSFWorkbook是现在处理Excel比较常见的方式。其适用于.xlsx后缀的Excel,即E...
  • 之前导出均用HSSFWorkbook,后来发现超出65536条后系统就报错,而且超过6w条数据, 会分出新的sheet。 经过网上查询资料得出,XSSFWorkbook可以导出 2.问题原因是什么? 由于默认使用的HSSF,不支持Excel2007以后的...
  • Wookbook中XSSFWorkbook和HSSFWorkbook遇到的问题 报错 Package should contain a content type part [M1.13] 要新建 后缀是 .xlsx 的Excel 不要把.xls的文件 直接改成 .xlsx文件 这样会报错
  • poi读取xlsx格式的程序单独运行正确 用jsp调用出现无法执行new XSSFWorkbook的情况,也无报错 ``` public class Forexecute extends HttpServlet { public void doGet(HttpServletRequest request, ...
  • 使用XSSFWorkbook读取excel在控制台程序里可以,但使用tomcat运行项目读取时却报错: java.lang.NoClassDefFoundError: org/apache/poi/xssf/usermodel/XSSFWorkbook 通常这个原因就是你引用的poi相关的jar包是通过...
  • 经过一番搜索发现,java操纵excel文件常用的有jxl和poi两...这里介绍的使用poi方式(XSSFWorkbook),实际上poi提供了HSSFWorkbook和XSSFWorkbook两个实现类。区别在于HSSFWorkbook是针对.xls文件,XSSFWorkbook是针对...
  • 之前也使用过NPOI导出excel,这次是因为在导出的excel里新增了几个列,正好超出了255的限制,所以又要改了。 今天主要出了4个问题: 1.Invalid column index (256). Allowable column range for BIFF8 is (0..255)...
  • 使用poi的HSSFWorkbook或XSSFWorkbook时创建表格写入数据时报NullPointException错误 在使用setCellValue方法时,报NullPointException错误。查看源码可知,它是接受null值的,但是为什么会报错呢? 主要原因有两...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,635
精华内容 654
关键字:

使用xssfworkbook报错