java – “包应包含内容类型部分[M1.13]”

前端之家收集整理的这篇文章主要介绍了java – “包应包含内容类型部分[M1.13]”前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图写入Excel文件,但我一直收到错误

Exception in thread “main” org.apache.poi.POIXMLException: org.apache.poi.openxml4j.exceptions.InvalidFormatException: Package should contain a content type part [M1.13]

根据我的理解,我错过了一个jar文件.

任何人都可以帮我识别它是哪个文件

附:我正在使用Netbeans.

  1. import java.io.FileInputStream;
  2. import java.io.FileNotFoundException;
  3. import java.io.FileOutputStream;
  4. import java.io.IOException;
  5. import javax.swing.JOptionPane;
  6. import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
  7. import org.apache.poi.xssf.usermodel.XSSFCell;
  8. import org.apache.poi.xssf.usermodel.XSSFRow;
  9. import org.apache.poi.xssf.usermodel.XSSFSheet;
  10. import org.apache.poi.xssf.usermodel.XSSFWorkbook;
  11.  
  12. /**
  13. *
  14. * @author nicholaskissaun
  15. */
  16.  
  17. public class Tester {
  18.  
  19. public static void main (String args \[\])throws FileNotFoundException,IOException,InvalidFormatException{
  20. int RowCount = 7,iChoice;
  21. String sChoice;
  22. XSSFSheet s;
  23. XSSFRow row1;
  24. XSSFWorkbook wb;
  25. XSSFCell r1c1,r1c2,r1c8,r1Episodes;
  26.  
  27. FileInputStream fis = new FileInputStream("/Users/nicholaskissaun/Google Drive/Grade 11_12/Computer Science/Java/Term1/src/IA/Profiles/Becky/ShowDetails.xlsx");
  28. wb = new XSSFWorkbook(fis);
  29. s = wb.getSheetAt(0);
  30.  
  31. }
  32.  
  33. }

解决方法

使用文件扩展名来处理WorkSheet类型
  1. String inputFilename = new File(path).getName();
  2.  
  3. switch (inputFilename.substring(inputFilename.lastIndexOf(".") + 1,inputFilename.length())) {
  4. case "xls":
  5. return readXLS(path);
  6.  
  7. case "xlsx":
  8. return readXLSX(path);
  9. default:
  10. Log.e(TAG,"No XLS file chosen");
  11. return "Please select valid \"Excel\" File\"";
  12. }

对于XLSX文件:使用XSSFWorkbook& XSSFSheet

  1. XSSFWorkbook workbook = new XSSFWorkbook(new FileInputStream(new File(path)));
  2.  
  3. XSSFSheet sheet = workbook.getSheetAt(0);

对于XLS文件:使用HSSFWorkbook& HSSFSheet

  1. HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(new File(path)));
  2.  
  3. HSSFSheet sheet = workbook.getSheetAt(0);

猜你在找的Java相关文章