I'm working on an excel sheet in which I have multiple columns, which holds multiple text values including variables starting with $
. I'm writing a Java code using workbook to read xlsx files. Since I have never used it before, may someone tell me how to achive this task using same.
My code structure is here:
package com.demo.ExcelProject;
import java.io.File;
import org.apache.poi.sl.usermodel.Sheet;
import org.apache.poi.ss.usermodel.CellRange;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorksheet;
public class CreateResult {
public static void main(String[] args) {
try {
//Create a workbook
Workbook workbook = WorkbookFactory.create(new File("template.xlsx"));
//Get the first worksheet
CTWorksheet worksheet = (CTWorksheet) workbook.getSheetAt(0);
//Find the text string "$"
//Save the document to file
workbook.saveToFile("output.xlsx");
}
catch(Exception e) {
e.printStackTrace();
}
}
}
Some familier ones, please guide me.
well, you will need iterator to iterate over Row (this also needs .next() ) and iterator to iterate over cell. as you iterate over cell, you get the next cell with .next(), and it should look something like this
Iterator<Row> iterator = inputSheet.iterator();
while (iterator.hasNext()){
Row nextRow = iterator.next();
Iterator<Cell> cellIterator = nextRow.cellIterator();
//iterator() or cellIterator() both ok
while (cellIterator.hasNext()){
Cell cell = cellIterator.next();
String cellVal = cell.getStringCellValue();
if (cellVal.startsWith("$")){
//do something
}
}
}