我正在尝试使用Java中的r解析excel文件,执行一些操作并保存它但代码不工作,最后的数据框(操作后)为空并且没有文件。 如果我在R中运行相同的代码。
附上了代码 -
package pkg;
import org.rosuda.JRI.REXP;
import org.rosuda.JRI.Rengine;
import org.rosuda.REngine.RList;
public class Read {
public static void main(String args[]) {
// Start Rengine.
Rengine engine = new Rengine(new String[] { "--no-save" }, false, null);
//calling required libraries
String libloc="\"C:/Program Files/R/R-3.4.1/library\"";
System.out.println(libloc);
engine.eval(".libPaths("+libloc+")");
engine.eval("library(rJava);library(xlsxjars);library(xlsx)");
engine.eval("excelfile<-read.xlsx(\"C:/Users/aakashs/Desktop/File_Parse/LT257-Refuel 3 March2017.xlsx\",sheetIndex=1,startRow=9,colIndex=c(1,2,3)");
engine.eval("column4<-matrix(nrow(excelfile),1)");
engine.eval("for(i in 1:(nrow(excelfile))){column4[i]=excelfile[i+1,3]-excelfile[i,3]}");
engine.eval("column4<-data.frame(column4)");
engine.eval("finaldata<-cbind(excelfile,column4)");
REXP datafinal = engine.eval("finaldata");
System.out.println("Data table is :" + datafinal);
engine.eval("write.xlsx(finaldata,\"D:/final2.xlsx\"");
engine.eval("initial=paste('aakash','singhal')");
}
}