从excel获取输入并使用java将数据传递到bat文件
我想从excel中读取数据,并使用java将这些数据传递到批处理文件从excel获取输入并使用java将数据传递到bat文件,java,excel,batch-file,Java,Excel,Batch File,我想从excel中读取数据,并使用java将这些数据传递到批处理文件 test.bat echo%id% # Excel文件 1234 我们如何从excel文件中检索数据,并使用java将这些数据传递到bat文件 谁能回答这个问题 您可以使用以下代码从excel工作表中读取数据,然后将其写入另一个文件 try { InputStream input = new BufferedInputStream( new Fi
test.bat
echo%id%
#
Excel文件
1234
我们如何从excel文件中检索数据,并使用java将这些数据传递到bat文件
谁能回答这个问题 您可以使用以下代码从excel工作表中读取数据,然后将其写入另一个文件
try {
InputStream input = new BufferedInputStream(
new FileInputStream("C:/MyWorkSpace/Temp/poi-test.xls"));
POIFSFileSystem fs = new POIFSFileSystem( input );
HSSFWorkbook wb = new HSSFWorkbook(fs);
HSSFSheet sheet = wb.getSheetAt(0); //sheet of excel
File file = new File("writedatasamp.txt");
writer = new BufferedWriter(new FileWriter(file));
Iterator rows = sheet.rowIterator();
while( rows.hasNext() ) {
HSSFRow row = (HSSFRow) rows.next();
System.out.println("\n");
Iterator cells = row.cellIterator();
writer.write("insert into Emp values(");
while( cells.hasNext() ) {
HSSFCell cell = (HSSFCell) cells.next();
if(HSSFCell.CELL_TYPE_NUMERIC==cell.getCellType()) {
System.out.print( cell.getNumericCellValue()+" "+cell.getColumnIndex() );
if(cell.getColumnIndex()==3)
writer.write(String.valueOf(cell.getNumericCellValue()));
else
writer.write(String.valueOf(cell.getNumericCellValue()+","));
}
else
if(HSSFCell.CELL_TYPE_STRING==cell.getCellType()) {
System.out.print( cell.getStringCellValue()+" " );
writer.write("'"+cell.getStringCellValue()+"',");
}
else
if(HSSFCell.CELL_TYPE_BOOLEAN==cell.getCellType()) {
System.out.print( cell.getBooleanCellValue()+" " );
writer.write("'"+String.valueOf(cell.getBooleanCellValue()+"',"));
}
else
if(HSSFCell.CELL_TYPE_BLANK==cell.getCellType())
System.out.print( "BLANK " );
else
System.out.print("Unknown cell type");
}
writer.write(");"+"\n");
}
} catch ( IOException ex ) {
ex.printStackTrace();
} finally { try { if (writer != null) { writer.close(); } } catch (IOException e) { e.printStackTrace(); } }
}
如果你想用excel文件做任何事情,你应该使用ApachePOI。伟大的图书馆,使用方便 欢迎使用StackOverflow,请阅读上的指南,以便更好地理解您的问题并为您提供更好的答案。如何将这些值传递到bat文件。bat文件应该从excel工作表中逐个获取值。您将在此处逐个单元格获取值。仅尝试使用逻辑写入bat文件内部,而使用上述逻辑,我可以将参数传递到bat文件中。我的bat文件有一些工作。例如。。你必须给出是或否,或者一些名字,或者多次这样输入。。因此,我将在excel表中提供所有信息,它必须逐个传递数据并按enter键。
try {
InputStream input = new BufferedInputStream(
new FileInputStream("C:/MyWorkSpace/Temp/poi-test.xls"));
POIFSFileSystem fs = new POIFSFileSystem( input );
HSSFWorkbook wb = new HSSFWorkbook(fs);
HSSFSheet sheet = wb.getSheetAt(0); //sheet of excel
File file = new File("writedatasamp.txt");
writer = new BufferedWriter(new FileWriter(file));
Iterator rows = sheet.rowIterator();
while( rows.hasNext() ) {
HSSFRow row = (HSSFRow) rows.next();
System.out.println("\n");
Iterator cells = row.cellIterator();
writer.write("insert into Emp values(");
while( cells.hasNext() ) {
HSSFCell cell = (HSSFCell) cells.next();
if(HSSFCell.CELL_TYPE_NUMERIC==cell.getCellType()) {
System.out.print( cell.getNumericCellValue()+" "+cell.getColumnIndex() );
if(cell.getColumnIndex()==3)
writer.write(String.valueOf(cell.getNumericCellValue()));
else
writer.write(String.valueOf(cell.getNumericCellValue()+","));
}
else
if(HSSFCell.CELL_TYPE_STRING==cell.getCellType()) {
System.out.print( cell.getStringCellValue()+" " );
writer.write("'"+cell.getStringCellValue()+"',");
}
else
if(HSSFCell.CELL_TYPE_BOOLEAN==cell.getCellType()) {
System.out.print( cell.getBooleanCellValue()+" " );
writer.write("'"+String.valueOf(cell.getBooleanCellValue()+"',"));
}
else
if(HSSFCell.CELL_TYPE_BLANK==cell.getCellType())
System.out.print( "BLANK " );
else
System.out.print("Unknown cell type");
}
writer.write(");"+"\n");
}
} catch ( IOException ex ) {
ex.printStackTrace();
} finally { try { if (writer != null) { writer.close(); } } catch (IOException e) { e.printStackTrace(); } }
}