如题,谢谢!~~~
解决方案 »
- 用SVN时,为什么我从资源库下载后并修改了某文件,这时别人提交了这个文件的修改,然后我更新,得到的却是一个错误的文件?
- 配列(string)中如何判断某个变量的存在与否?
- 用javabean与oracle进行连接出现问题求解
- 关于mysql的ISO-8859-1
- 请问用jmagick如何裁减图片啊?我找了几天都找不到相关的API啊??
- 图片上传的问题
- 1000分求类似功能的编辑器.用在我的jsp页面里.
- 我想请教一下用Dreamweaver开发简单的JSP页面的流程,请有经验者指正!!
- javamailapi 和 jaf问题?
- axis发布webservice,无法注入dao
- 编码问题。
- 关于errorPage的简单问题
jacob只能用在Windows上面...
这两点都是我不希望出现的,难道现在就没有一个符合JAVA习惯的技术来操作WORD吗???
public void OutPutExcelValue()//取得excel报表的内容
{
try
{
// 创建对Excel工作簿文件的引用
HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(excelfile));
// .println("===SheetsNum===" + workbook.getNumberOfSheets());//获取sheet数
for (int numSheets = 0; numSheets < workbook.getNumberOfSheets(); numSheets++)
{
if (null != workbook.getSheetAt(numSheets))
{
HSSFSheet aSheet = workbook.getSheetAt(numSheets);//获得一个sheet
//System.out.println("+++getFirstRowNum+++" +
// aSheet.getFirstRowNum());//
//System.out.println("+++getLastRowNum+++" +
// aSheet.getLastRowNum());取得一个sheet的行数,注意行数从0开始计数
// RecordCount=aSheet.getLastRowNum()+1;
for (int rowNumOfSheet = 0; rowNumOfSheet <= aSheet.getLastRowNum(); rowNumOfSheet++)
{
if (null != aSheet.getRow(rowNumOfSheet))
{
HSSFRow aRow = aSheet.getRow(rowNumOfSheet);
//System.out.println(">>>getFirstCellNum<<<"+
// aRow.getFirstCellNum());
//System.out.println(">>>getLastCellNum<<<"+
// aRow.getLastCellNum());取得一行的单元割格数,注意行数从1开始计数
for (short cellNumOfRow = 0; cellNumOfRow <= (aRow.getLastCellNum()-1); cellNumOfRow++)
{ if (null != aRow.getCell(cellNumOfRow))
{
HSSFCell aCell = aRow.getCell(cellNumOfRow);
int cellType = aCell.getCellType();
//System.out.println(cellType);
switch (cellType)
{
case 0://Numeric,CELL_TYPE_NUMERIC
String CheckLength=String.valueOf(aCell.getNumericCellValue());
if(CheckLength.length()>18)
{
Message="错误,第"+(rowNumOfSheet+1)+"行"+(cellNumOfRow+1)+"列"+"单元格的内容超过最大长度";
ReturnCode=1;
return;
}
ReportValue[cellNumOfRow]= aCell.getNumericCellValue();
Message=String.valueOf(ReportValue[cellNumOfRow]);
//System.out.println(strCell);
break;
case 1://String
String strCell = aCell.getStringCellValue();
String tempstr=strCell.trim();
if(tempstr.length()==0)
{
ReportValue[cellNumOfRow]=0;
}
else
{
Message="错误,第"+(rowNumOfSheet+1)+"行"+(cellNumOfRow+1)+"列"+"单元格的内容不对,注意只可以是数字或空格或不输入!";
ReturnCode=1;
return;
}
//System.out.println(strCell);
break;
case 3:
ReportValue[cellNumOfRow]=0;
break;
default:
Message="错误,第"+(rowNumOfSheet+1)+"行"+(cellNumOfRow+1)+"列"+"单元格的内容不对,注意只可以是数字或空格或不输入!";
ReturnCode=1;
return;
//System.out.println("格式不对不读");//其它格式的数据
}
}
}
}
RecordCount=rowNumOfSheet+1;//取得成功处理的数据条数
}
}
}
// System.out.print("aaa");
Message="成功处理了"+RecordCount+"条数据";
}
catch (FileNotFoundException e)
{
Message="错误,未找到指定文件";
ReturnCode=1;
}
catch (Exception e)
{
ReturnCode=1;
Message=e.toString();
e.printStackTrace();
// System.out.println("ReadExcelError" + e);
}
/*
finally
{
//在无论出错还是不出错都执行的代码!
Message="打开文件失败!";
// Message=
ReturnCode=1;
}*/
}