上传页面<FORM name="import" METHOD="POST" ACTION="do_import1.jsp"
ENCTYPE="multipart/form-data" onsubmit="return isnull()">
<!-- <input type="hidden" name="TEST" value="good"> -->
<table width="75%" border="1" align="center">
<tr>
<td><div align="center">1、
<input type="file" name="file1" size="30">
</div></td>
</tr>
<tr>
<td><div align="center">
<input type="submit" name="Submit" value="导入">
</div></td>
</tr>
</table>
</FORM>上传处理页面InputStream is = request.getInputStream();
jxl.Workbook wb = Workbook.getWorkbook(is);jxl.Workbook wb = Workbook.getWorkbook(is);报错 InputStream is = new FileInputStream(sourcefile);
jxl.Workbook rwb = Workbook.getWorkbook(is);
ENCTYPE="multipart/form-data" onsubmit="return isnull()">
<!-- <input type="hidden" name="TEST" value="good"> -->
<table width="75%" border="1" align="center">
<tr>
<td><div align="center">1、
<input type="file" name="file1" size="30">
</div></td>
</tr>
<tr>
<td><div align="center">
<input type="submit" name="Submit" value="导入">
</div></td>
</tr>
</table>
</FORM>上传处理页面InputStream is = request.getInputStream();
jxl.Workbook wb = Workbook.getWorkbook(is);jxl.Workbook wb = Workbook.getWorkbook(is);报错 InputStream is = new FileInputStream(sourcefile);
jxl.Workbook rwb = Workbook.getWorkbook(is);
private List importMessage(File f) throws Exception {
InputStream inStream = new FileInputStream(f);
FileInputStream saveInstream = null;
Workbook book = null;
List<List<String>> list = new ArrayList<List<String>>();
WorkbookSettings workbookSettings = new WorkbookSettings();
workbookSettings.setEncoding("ISO-8859-1");
try {
saveInstream = new FileInputStream(f);
book = Workbook.getWorkbook(saveInstream,workbookSettings);
Sheet firstSheet = book.getSheet(0);
int rows = firstSheet.getRows();
int cols = firstSheet.getColumns();
for (int i = 1; i < rows; i++) {
List<String> m = new ArrayList<String>();
for (int k = 0; k < cols; k++) {
String cell = firstSheet.getCell(k, i).getContents();
cell = cell.replaceAll(" ", "");
m.add(cell);
}
list.add(m);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (book != null)
book.close();
if (inStream != null)
inStream.close();
if (saveInstream != null)
saveInstream.close();
}
return list;
}
// 导入备件信息
public String importInfo(File f,String iType,TSparesOut sparesOut) {
String msg = "";
try {
List<List<String>> list = this.importMessage(f);
msg = this.createSQL(list,iType,sparesOut);//保存
} catch (Exception e) {
e.printStackTrace();
}
return msg;
}希望对你有用
你从页面submit后 在request里面可以得到这个file 对象
所以request.getParameter("file")为NULL就算去掉ENCTYPE="multipart/form-data"
request.getParameter("file")为文件名 而不是文件路径
String fileType = fileName.substring(fileName.lastIndexOf(".")+1, fileName.length());
Sheet sheet = null;
if(fileType.toLowerCase().equals("xlsx")){
wb =new XSSFWorkbook(uploaddata.getInputStream());
sheet = wb.getSheetAt(0);
}else{
POIFSFileSystem fs = new POIFSFileSystem(uploaddata.getInputStream());
wb = new HSSFWorkbook(fs);
sheet = wb.getSheetAt(0);
}
int rowNum = sheet.getLastRowNum();
Row titlerow = sheet.getRow(0);
this.dataLengthrow = sheet.getRow(2);
// 正文内容应该从第四行开始,第一行为表头的标题
for (int i = 3; i <= rowNum; i++) {
//解析
}
如果使用request.getInputStream(); 怎么取不到输入流?如果使用InputStream inStream = new FileInputStream(f);如何从<input type="file" />取到文件的绝对路径f的值对不起,我是菜鸟
我有关于jxl这个包的API··要的话联系我··
得到工作簿有2种方式
1.jxl.Workbook rwb = jxl.Workbook.getWorkbook(new File(sourcefile));
sourcefile为文件的绝对路径 问题1:文件的绝对路径怎么得到2.jxl.Workbook wb = Workbook.getWorkbook(is);
问题2:如何得到数据流
实践证明InputStream is = request.getInputStream(); 不行
InputStream is = new FileInputStream(sourcefile); 这个又要解决怎么得到sourcefile
List list = new ArrayList();
int gnum=0;
int snum=0;
int bnum=0;
for(int i=101;i<1000;i++){
bnum = i/100;
snum = i%100/10;
gnum = i%100%10;
if(gnum*gnum*gnum + snum*snum*snum + bnum*bnum *bnum==i){
list.add(i);
}
}
Iterator it = list.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
}
火狐的form只提交了文件名 跪求得到表单file标签的上传文件的绝对路径!!!!!!!!
Workbook workbook = Workbook.getWorkbook(is);
这样肯定错啊。
我记着有这么一段说明: when creating a spreadsheet from a ServletInputStream you must remove the HTTP header information before creating the Workbook object所以要选把is的流的header 信息去掉。
我是直接去掉前四行内容