すべてのビジネスユーザーで共有されているExcelブックがあります。このプロセスの一環として、サーバー側でExcelを更新する必要があります。すべてのユーザーは、Excelブックを含むネットワークドライブにマップされています。以前は、ActiveXコントロールを使用してクライアント側のExcelを更新していました。今問題は、Excelの本のパスがサーバマシン上でアクセスできないため、例外ファイルが見つからないということです。これとは別にサーバーマシン上のネットワークドライブをマッピングする方法はありますか? クライアントサーバーアーキテクチャのサーバー側でExcelファイルを編集
後はコードである: パブリック静的な文字列updateExcelFile(文字列のFileLocation、文字dataVal、列txnId)にIOException {
String status="";
//fileLocation = "Z:\\check.xlsx";
//FileInputStream file = new FileInputStream(new File("C:\\JXL\\Checklist OnBoarding1.1.xlsx"));
//fileLocation.rep
FileInputStream file = new FileInputStream(new File(fileLocation));
XSSFWorkbook wb = new XSSFWorkbook (file);
XSSFSheet sheet = wb.getSheetAt(0);
Row r = null;
Cell c = null;
String data[] = dataVal.split(",");
int rowCount = sheet.getPhysicalNumberOfRows();
int rowNum = rowCount;
Iterator<Row> rowInterator =sheet.iterator();
while(rowInterator.hasNext()){
r=rowInterator.next();
Iterator<Cell> cellIterator = r.cellIterator();
while(cellIterator.hasNext()){
c=cellIterator.next();
//System.out.println();
switch(c.getCellType()) {
case Cell.CELL_TYPE_NUMERIC:
System.out.print(c.getNumericCellValue() + "\t\t");
if(c.getNumericCellValue()==Integer.parseInt(txnId)){
int modRow = r.getRowNum();
System.out.println("ModRow"+modRow);
rowNum=modRow;
}
break;
case Cell.CELL_TYPE_STRING:
System.out.print(c.getStringCellValue() + "\t\t");
if(c.getStringCellValue().equals(txnId)){
int modRow = r.getRowNum();
System.out.println("ModRow"+modRow);
rowNum=modRow;
}
break;
}
}
}
if(rowNum==rowCount){
r=sheet.createRow(rowNum+1);
r=sheet.getRow(rowNum+1);
}else{
r=sheet.getRow(rowNum);
}
for(int cellNum =0; cellNum<data.length;cellNum++){
c=r.createCell(cellNum);
c.setCellValue(data[cellNum]);
}
file.close();
//FileOutputStream outFile =new FileOutputStream(new File("C:\\JXL\\Checklist OnBoarding1.1.xlsx"));
FileOutputStream outFile =new FileOutputStream(new File(fileLocation));
wb.write(outFile);
outFile.close();
status="success";
リターン・ステータスをスロー。 }
サーバー側のプロセスがいつExcelファイルを更新するのですか? – user2587106
@ user2587106ボタンからクリックすると、ajax呼び出しがあります。その時、Excelは更新されるべきです。 – user3611601
を入力し、ユーザーがボタンをクリックすると、Excelファイルをサーバーに送信します。 – user2587106