https://bz.apache.org/bugzilla/show_bug.cgi?id=68336

            Bug ID: 68336
           Summary: java.lang.NullPointerException in
                    org.apache.poi.openxml4j
           Product: POI
           Version: 5.2.3-FINAL
          Hardware: PC
                OS: Mac OS X 10.1
            Status: NEW
          Severity: normal
          Priority: P2
         Component: OPC
          Assignee: dev@poi.apache.org
          Reporter: 646861...@qq.com
  Target Milestone: ---

Created attachment 39458
  --> https://bz.apache.org/bugzilla/attachment.cgi?id=39458&action=edit
Crash sample

Recently we discovered a bug in poi (5.2.3).
Due to the lack of contextual knowledge in the poi library, we cannot
thoroughly fix some bugs hence we look forward to any proposed plan from the
developers in fixing these bugs.

# Crash Stack

Exception in thread "main" java.lang.NullPointerException
        at
org.apache.poi.openxml4j.opc.PackagePartName.throwExceptionIfEmptyURI(PackagePartName.java:204)
        at
org.apache.poi.openxml4j.opc.PackagePartName.throwExceptionIfInvalidPartUri(PackagePartName.java:173)
        at
org.apache.poi.openxml4j.opc.PackagePartName.<init>(PackagePartName.java:82)
        at
org.apache.poi.openxml4j.opc.PackagingURIHelper.createPartName(PackagingURIHelper.java:481)
        at
org.apache.poi.openxml4j.opc.internal.ContentTypeManager.parseContentTypesFile(ContentTypeManager.java:411)
        at
org.apache.poi.openxml4j.opc.internal.ContentTypeManager.<init>(ContentTypeManager.java:102)
        at
org.apache.poi.openxml4j.opc.internal.ZipContentTypeManager.<init>(ZipContentTypeManager.java:53)
        at
org.apache.poi.openxml4j.opc.ZipPackage.getPartsImpl(ZipPackage.java:282)
        at
org.apache.poi.openxml4j.opc.OPCPackage.getParts(OPCPackage.java:749)
        at org.apache.poi.openxml4j.opc.OPCPackage.open(OPCPackage.java:322)
        at org.apache.poi.ooxml.util.PackageHelper.open(PackageHelper.java:59)
        at
org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:290)
        at
org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:286)
        at com.test.Entry.main(Entry.java:32)


# Test Program

package com.test;
import java.io.File;
import java.io.InputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellType;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class Entry {
        public static void main (String args[]) throws IOException {
                assert args.length == 1;
                System.out.println("Testing Harness with args[0]: " + args[0]);
                try {
                        FileInputStream fis = new FileInputStream(args[0]);
                        Workbook workbook = null;
                        workbook = new XSSFWorkbook(fis);
                        int numberOfSheets = workbook.getNumberOfSheets();
                        for(int i=0; i < numberOfSheets; i++){
                                Sheet sheet = workbook.getSheetAt(i);
                                Iterator<Row> rowIterator = sheet.iterator();
                                while (rowIterator.hasNext())
                        {
                                        String name = "";
                                        String shortCode = "";
                                        Row row = rowIterator.next();
                                        Iterator<Cell> cellIterator =
row.cellIterator();
                            while (cellIterator.hasNext())
                            {
                                Cell cell = cellIterator.next();
                                if (cell.getCellType() == CellType.STRING){
                                name = cell.getStringCellValue().trim();
                                System.out.println("Random data::"+ name);
                                } else if (cell.getCellType() ==
CellType.NUMERIC){
                                System.out.println("Random
data::"+cell.getNumericCellValue());
                                }
                            }
                        } 
                        fis.close();
                        }
                } catch (IOException e) {
                        e.printStackTrace();
                }
        }
}

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@poi.apache.org
For additional commands, e-mail: dev-h...@poi.apache.org

Reply via email to