当我使用Activecell.Formula时,我有以下代码可以正常工作...但是当我使用Activecell.FormulaArray
时,给我一个1004无法设置Range Class的FormulaArray属性public static String xl_write(String xl_res, String [][] xData,int sheet_no, int row_count) {
//System.out.println("Sheet no:" +sheet_no);
System.out.println("row count:" + row_count);
//System.out.println("xdata:" +xData[i][j]);
System.out.println("write res:" +xl_res);
XSSFWorkbook wb = new XSSFWorkbook();
XSSFSheet ws = wb.createSheet("TestResult " + sheet_no);
for(int i=0;i<=row_count;i++) {
XSSFRow wr = ws.createRow(i);
for(int j=0;j<=4;j++){
System.out.println("I:" +i);
System.out.println("J:" +j);
System.out.println("xdata:" +xData);
System.out.println("xdata:" +xData [i] [j]);
XSSFCell wc = wr.createCell(j);
wc.setCellValue(xData[i][j]);
}
}
try {
FileOutputStream fos=new FileOutputStream(xl_res);
wb.write(fos);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch(IOException e) {
e.printStackTrace();
}
//return xData;
return xl_res;
}
答案 0 :(得分:0)
左方括号位于initPath
的错误位置。它应该在一开始。
这是不好的做法。您应该在formulaValue =
语句中使用左方括号而不是变量本身。
例如。
formulaValue = "=VLOOKUP(MIN(IF(ABS('[" & initPath & (n / 3 - 2) & " " .......