2016-12-04 225 views
0

我正在閱讀使用java apache POI的excel表。看完後我想在同一行寫,頌完美閱讀,但不是寫我要創建在每次迭代中每行第6列....這裏是代碼使用java apache閱讀和編寫excel表POI

/** 
* Created by Muhammad Hussain on 26/10/2016. 
*/ 
import java.io.File; 
import java.io.FileInputStream; 
import java.io.FileOutputStream; 
import java.io.IOException; 
import java.util.Iterator; 

import org.apache.poi.ss.usermodel.Cell; 
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; 
import java.util.Scanner; 

/** 
* A dirty simple program that reads an Excel file. 
* @author www.codejava.net 
* 
*/ 
public class ReadExcel { 

    public static void main(String[] args) throws IOException { 
     String excelFilePath = "C:\\Users\\Muhammad Hussain\\Desktop\\Data-Collection.xlsx"; 
     FileInputStream inputStream = new FileInputStream(new File(excelFilePath)); 

     Workbook workbook = new XSSFWorkbook(inputStream); 
     Sheet firstSheet = workbook.getSheetAt(4); 
     Scanner input =new Scanner(System.in); 
     for (int rowIndex = 1; rowIndex <= 5; rowIndex++) { 

      Row row = firstSheet.getRow(rowIndex); 
      Cell cell = row.getCell(3); 
      String review = cell.getStringCellValue(); 
      System.out.println(review); 
      String label =input.next(); 
      row.createCell(6).setCellValue(label); 

     } 

     inputStream.close(); 
     inputStream.close(); 
    } 

} 
+0

那麼,你永遠不會寫工作簿。所以你所做的所有改變都留在記憶中。 https://poi.apache.org/apidocs/org/apache/poi/ss/usermodel/Workbook.html#write(java.io.OutputStream) –

回答

0

你只閱讀該文件,而不是寫它。你必須把這樣的東西最後:

FileOutputStream out = new FileOutputStream(new File("...")); 
workbook.write(out); 
out.close(); 
+1

並注意你應該寫入一個不同的文件作爲就地寫入尚未(完全支持)。 – centic