if((row!=null)&&!(row.equals(""))){
hd.setMainCycle(String.valueOf(row.getCell((short)9).getNumericCellValue()));//周期
hd.setMainWarrantyTime(String.valueOf(row.getCell((short)8).getNumericCellValue()));//保修期
hd.setMainManhourTest(String.valueOf(row.getCell((short)3).getNumericCellValue()));
hd.setMainManhourRepair(String.valueOf(row.getCell((short)4).getNumericCellValue()));
hd.setMainManhourOverhaul(String.valueOf(row.getCell((short)5).getNumericCellValue()));
hd.setMainImmobilityRepair(String.valueOf(row.getCell((short)6).getNumericCellValue()));
hd.setMainImmobilityOverhaul(String.valueOf(row.getCell((short)7).getNumericCellValue()));
hdd.setDateData(String.valueOf(String.valueOf(row.getCell((short)10).getDateCellValue())));
hddateBiz.addIArticle(hdd);
hd.setHddate(hdd);
//给件号跟ATA章节号赋值
art.setArticleIdName(row.getCell((short)1).getStringCellValue());
art.setArticleIdAta(row.getCell((short)2).getStringCellValue());
articleIdBiz.addIArticle(art);//如果没有这个件号系统就会添加这个件号
hd.setArticleId(art);//然后在把这个件号给hd的外键给予联系
cor.setCorporationName(row.getCell((short)0).getStringCellValue());//添加公司名称
corporationBiz.addIArticle(cor);
hd.setCorporation(cor);//添加入外键的公司名称
System.out.println("看看是否能进判断语句");
hdmainBiz.addHdmain(hd);
}
后来我把每句话都加上了这样的判断语句
if(row.getCell((short)4).getCellType()==HSSFCell.CELL_TYPE_NUMERIC ){
hd.setMainManhourRepair(String.valueOf(row.getCell((short)4).getNumericCellValue()));
}else if(row.getCell((short)4).getCellType()==HSSFCell.CELL_TYPE_STRING){
hd.setMainManhourRepair(row.getCell((short)4).getStringCellValue());
}
5 个解决方案
#1
自己顶下,难道没人能帮我么
#2
用poi吗?但是我的不会出现这种情况,是不是你的excel版本的问题。。
#3
嗯 是的 这是 我前面的代码
ExeclFiliter execlFiliter = new ExeclFiliter();
FormFile file = hf.getTheFile();//取得上传的文件
ByteArrayOutputStream baos = new ByteArrayOutputStream();
System.out.println("获取到的文件:"+file);
try {
System.out.println(request.getRealPath("/"));
String filePath = request.getRealPath("/");
InputStream stream = file.getInputStream();//把文件读入
System.out.println(filePath +"UploadFiles\\"+file.getFileName());
File file1 = new File(filePath +"UploadFiles");
if(!file1.exists())
{
file1.mkdirs();
}
OutputStream bos = new FileOutputStream(filePath +"UploadFiles\\"+file.getFileName());
request.setAttribute("fileName",filePath + "/"+ file.getFileName());
int bytesRead = 0;
byte[] buffer = new byte[8192];
while ((bytesRead = stream.read(buffer, 0, 8192)) != -1){
bos.write(buffer, 0, bytesRead);//将文件写入服务器
}
bos.close();
stream.close();
// execlFiliter.intoExecl(filePath +"UploadFiles\\"+file.getFileName());
boolean flag = false;
boolean fl = true;
Hdmain hd = new Hdmain();
Corporation cor = new Corporation();
ArticleId art = new ArticleId();
Hddate hdd = new Hddate();
System.out.println("路径前一句");
FileInputStream fs = new FileInputStream(filePath +"UploadFiles\\"+file.getFileName());
System.out.println("路径后一句");
HSSFWorkbook workbook = new HSSFWorkbook(fs);
HSSFSheet sheet = workbook.getSheet("sheet");//对应Excel 工作表的名称
int i = 0;
while(fl){
i++;//从第一行开始
HSSFRow row = sheet.getRow(i);
System.out.println("第"+row.getRowNum()+"行信息");
#4
自己顶下,各位大虾帮哈字我...
#5
呵呵,后来发现 是我自己不细心的错..
#1
自己顶下,难道没人能帮我么
#2
用poi吗?但是我的不会出现这种情况,是不是你的excel版本的问题。。
#3
嗯 是的 这是 我前面的代码
ExeclFiliter execlFiliter = new ExeclFiliter();
FormFile file = hf.getTheFile();//取得上传的文件
ByteArrayOutputStream baos = new ByteArrayOutputStream();
System.out.println("获取到的文件:"+file);
try {
System.out.println(request.getRealPath("/"));
String filePath = request.getRealPath("/");
InputStream stream = file.getInputStream();//把文件读入
System.out.println(filePath +"UploadFiles\\"+file.getFileName());
File file1 = new File(filePath +"UploadFiles");
if(!file1.exists())
{
file1.mkdirs();
}
OutputStream bos = new FileOutputStream(filePath +"UploadFiles\\"+file.getFileName());
request.setAttribute("fileName",filePath + "/"+ file.getFileName());
int bytesRead = 0;
byte[] buffer = new byte[8192];
while ((bytesRead = stream.read(buffer, 0, 8192)) != -1){
bos.write(buffer, 0, bytesRead);//将文件写入服务器
}
bos.close();
stream.close();
// execlFiliter.intoExecl(filePath +"UploadFiles\\"+file.getFileName());
boolean flag = false;
boolean fl = true;
Hdmain hd = new Hdmain();
Corporation cor = new Corporation();
ArticleId art = new ArticleId();
Hddate hdd = new Hddate();
System.out.println("路径前一句");
FileInputStream fs = new FileInputStream(filePath +"UploadFiles\\"+file.getFileName());
System.out.println("路径后一句");
HSSFWorkbook workbook = new HSSFWorkbook(fs);
HSSFSheet sheet = workbook.getSheet("sheet");//对应Excel 工作表的名称
int i = 0;
while(fl){
i++;//从第一行开始
HSSFRow row = sheet.getRow(i);
System.out.println("第"+row.getRowNum()+"行信息");
#4
自己顶下,各位大虾帮哈字我...
#5
呵呵,后来发现 是我自己不细心的错..