Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 带有字符串或InputStream的XSSFWorkbook构造函数_Java_Apache Poi_Fileinputstream_Fileoutputstream_Xssf - Fatal编程技术网

Java 带有字符串或InputStream的XSSFWorkbook构造函数

Java 带有字符串或InputStream的XSSFWorkbook构造函数,java,apache-poi,fileinputstream,fileoutputstream,xssf,Java,Apache Poi,Fileinputstream,Fileoutputstream,Xssf,我有一些简单的代码,可以读取和写入excel文件。我不明白的是为什么我会 如果我使用方法1读取文件,“ZLIB输入流意外结束”,但如果我使用方法2,则没有错误。方法2读取 并写入该文件。是否有一条规则,如果您使用FileOutputStream写入文件,那么您必须使用FileInputstream读取 // Method1 Workbook workbook = new XSSFWorkbook("C:\\Eclipse\\WorkSpace\\YPractice\\Test

我有一些简单的代码,可以读取和写入excel文件。我不明白的是为什么我会 如果我使用方法1读取文件,“ZLIB输入流意外结束”,但如果我使用方法2,则没有错误。方法2读取 并写入该文件。是否有一条规则,如果您使用FileOutputStream写入文件,那么您必须使用FileInputstream读取

// Method1
     Workbook workbook = new XSSFWorkbook("C:\\Eclipse\\WorkSpace\\YPractice\\TestCase.xlsx");   
 Sheet sheet = workbook.getSheet("WorkSheet2");  

// Method 2
//    FileInputStream file = new FileInputStream(new File("C:\\Eclipse\\WorkSpace\\YPractice\\TestCase.xlsx"));       
//    Workbook workbook = new XSSFWorkbook(file);
//    Sheet sheet = workbook.getSheet("WorkSheet2");   

  
  int rownum = sheet.getLastRowNum() - sheet.getFirstRowNum();
  
  System.out.println(rownum);
  
  
  for(int i= 0; i<=rownum; i++)
  {
      Row row = sheet.getRow(i);
      Cell column = row.createCell(1);
      column = row.getCell(1);
      column.setCellValue("Hello" + i);
      
          
     
      System.out.println(row.getCell(0));
      System.out.println(row.getCell(1));
      

  }
  
 
    FileOutputStream out =   new FileOutputStream(new File("C:\\Eclipse\\WorkSpace\\YPractice\\TestCase.xlsx"));
    workbook.write(out);
    out.close();
//方法1
工作簿工作簿=新XSSF工作簿(“C:\\Eclipse\\WorkSpace\\YPractice\\TestCase.xlsx”);
工作表=工作簿.getSheet(“工作表2”);
//方法2
//FileInputStream文件=新的FileInputStream(新文件(“C:\\Eclipse\\WorkSpace\\YPractice\\TestCase.xlsx”);
//工作簿=新的XSSF工作簿(文件);
//工作表=工作簿.getSheet(“工作表2”);
int rownum=sheet.getLastRowNum()-sheet.getFirstRowNum();
System.out.println(rownum);
对于(int i=0;i