当前位置: 首页 > news >正文

建设银行网站会员有什么用个人博客网站备案吗

建设银行网站会员有什么用,个人博客网站备案吗,汕头网址模板建站,成都包装设计写在前面: 项目环境:jdk1.4weblogic 需求:能上传excel20032007 由于项目不仅需要上传excel2003,还要上传excel2007,故我们抛弃了jxl(只能上传excel2003),选择了poi,在选poi的jar包的版本的时候,是真心的不容易呀&#…

写在前面:

  项目环境:jdk1.4+weblogic

  需求:能上传excel2003+2007

  由于项目不仅需要上传excel2003,还要上传excel2007,故我们抛弃了jxl(只能上传excel2003),选择了poi,在选poi的jar包的版本的时候,是真心的不容易呀,连找个jar都找了一两天,因为不仅要支持jdk1.4(丫丫的,无fuck说),还要能读取excel2007的。最后还是在csdn上花了6积分下载的....jar包(貌似只有这个才是支持jdk1.4的):dom4j-1.6.1.jar,geronimo-stax-api_1.0_spec-1.0.jar,ooxml-schemas-1.0.jar,poi-3.7-jdk1.4-20110508-rc2.jar,poi-3.7-jdk1.4-ooxml-20110508-rc2.jar,poi-3.7-jdk1.4-scratchpad-20110508-rc2.jar,xbean.jar,xmlbeans-qname.jar 然后如果我们要从服务器上读取excel文件的话 ,我们首先要上传文件到服务器,这里有很多方法,为了方便,保留了项目中jspsmart的上传文件的方法,很好用,因为excel2003跟2007都可以上传啦。故全部的jar包如图:

功能:在index.jsp点击上传excel文件,文件上传到服务器,然后并在index2.jsp页面中显示出excel文件中内容 

1.导入jar包(poi+jspsmart)

2.编写index.jsp

3.编写index2.jsp,代码如图(这是在jsp中的代码):

注意注意在jsp中一定要导入用到的相关类的class路径

  <body>
<%
//利用jspsmart将文件上传到服务器
SmartUpload su = new SmartUpload();
su.initialize(pageContext);
su.setMaxFileSize(200000); //2m
su.setTotalMaxFileSize(200000);
//设置允许上传的文件类型
su.setAllowedFilesList("xls,txt,xlsx");//    allow upload
            su.upload();
//获取上传的文件的名
com.jspsmart.upload.File myFile = su.getFiles().getFile(0);
String my_file_name = myFile.getFileName();
boolean go_update = true;
if (go_update) {
//将文件上传到项目的excelupload文件夹下 这里注意要现在项目根创建这个文件
if(my_file_name.endsWith(".xls")){
//excel2003 后缀名.xls
myFile.saveAs("/excelupload/" + my_file_name);
}else if(my_file_name.endsWith(".xlsx")){
//excel2007 后缀名.xlsx
myFile.saveAs("/excelupload/" + my_file_name);
}
}
//利用poi 读取内容
Workbook workbook = null;
Sheet sheet = null;
try {
String filePath = application.getRealPath("/") + "\\excelupload\\" + my_file_name;
FileInputStream fis = new FileInputStream(filePath);
//做判断
if(my_file_name.endsWith(".xls")){
workbook = new HSSFWorkbook(fis);
}else if(my_file_name.endsWith(".xlsx")){
workbook = new XSSFWorkbook(fis);
}
sheet = workbook.getSheetAt(0);
//excel中行数
int rowCount = sheet.getLastRowNum() + 1;
int columnCount;
//out.println("rowCount:==="+rowCount);
for(int i=0;i<rowCount;i++){
Row row = sheet.getRow(i);
//每行中的列数
columnCount = row.getLastCellNum();
//out.println("columnCount:==="+columnCount);
%>
<br>
<%         
//在页面中遍历打印出excel每一行的内容
for(int j=0;j<columnCount;j++){
Cell cell = row.getCell(j);    
//这里读取cell中内容时,要对内容进行转换为对应的类型,故这里封装了一个类,专门用来转换类型
out.print(FormatUtil.getCellStringValue(cell)+"\r\n\r\n");
}
%>
<br>
<% 
}
} catch (Exception e) {
out.println(e);
}
%>
</body>

3.index2.jsp中用到了一个类型转换类FormatUtil中getCellStringValue()方法(自己写的,放在单独的类中),如下图:

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFDateUtil;
import org.apache.poi.ss.usermodel.Cell;
public class FormatUtil {
public static String getCellStringValue(Cell cell) {
String cellValue = "";
switch (cell.getCellType()) {
//字符串
case HSSFCell.CELL_TYPE_STRING:
cellValue = cell.getStringCellValue();
if(cellValue.trim().equals("")||cellValue.trim().length()<=0)
cellValue=" ";
break;
//日期格式   数字     
case HSSFCell.CELL_TYPE_NUMERIC:
if(HSSFDateUtil.isCellDateFormatted(cell)){
Date d = cell.getDateCellValue();
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
cellValue = df.format(d);
}else{
cellValue = String.valueOf(cell.getNumericCellValue());     
}
break;
//公式
case HSSFCell.CELL_TYPE_FORMULA:
cell.setCellType(HSSFCell.CELL_TYPE_NUMERIC);
cellValue = String.valueOf(cell.getNumericCellValue());
break;
//空值
case HSSFCell.CELL_TYPE_BLANK:
cellValue="";
break;
//boolean
case HSSFCell.CELL_TYPE_BOOLEAN:
cellValue = cell.getBooleanCellValue() + "";
break;
//故障
case HSSFCell.CELL_TYPE_ERROR:
cellValue = "非法字符";
break;
default:
cellValue = "未知类型";
break;
}
return cellValue;
}
}

4.运行项目,选择excel,可以看到效果如下:

成功啦........嘻嘻。。。。

5.查看服务器上传文件的文件夹,里面多了自己刚上传的文件:

 

 

项目中jar包冲突问题(快速定位jar包加载路径):

  虽然在本地运行是可以的,但是其实也是走了很多路,因为当我把项目放在测试服务器weblogic上面跑的时候,就一直在报错,报错内容如

其中的内容就是说 found:org.apache.poi.hssf.usermodel.HSSFWorkbook    required:org.apache.poi.ss.usermodel.Workbook

workbook = new HSSFWorkbook(fis); 即找不到Workbook,可是我的jsp明明已经导入了Workbook的calss的相关路径啊,再说了在本地跑的时候也是正确的,这是为什么呢?唯一的原因就是jar包冲突了,因为服务器上有很多jar包,但是现在不知道是哪一个jar包冲突怎么办???啊,在网上查阅了一天的资料,终于 找到了一个办法来测试是什么jar包冲突的,代码如下:

        //Workbook与HSSFWorkbook类所在哦jar应该是一样的
//打印出poi的核心jar的路径
//打印出org.apache.poi.ss.usermodel.Workbook类所在jar包的路径
ClassLoader classloader = org.apache.poi.ss.usermodel.Workbook.class.getClassLoader();
java.net.URL res = classloader.getResource("org/apache/poi/ss/usermodel/Workbook.class");
String path = res.getPath();
System.out.println("POI Core came from "+ path);
//library-1.0I20080604_tomcat63955.jar
//打印出org.apache.poi.hssf.usermodel.HSSFWorkbook类所在jar包路径
classloader = org.apache.poi.hssf.usermodel.HSSFWorkbook.class.getClassLoader();
res = classloader.getResource("org/apache/poi/hssf/usermodel/HSSFWorkbook.class");
path = res.getPath();
System.out.println("POIOOXML came from" + path);
//poi-3.7-jdk1.4-ooxml-20110508-rc263962.jar!

 

运行代码明显可以看出项目中加载的Wookbook类的jar是library-1.0I20080604_tomcat63955.jar,这是什么鬼,我去lib下查看,果然有这个jar包存在,mmp,终于找到了,删掉它,再次运行打印出Wookbook类的核心jar包,此次的正确 ,是我自己导入的poi的jar包。哈哈哈.....坚持,坚持,再坚持,总会成功的,耶耶耶。。。。。。。

 

总结:这里虽然使用的是支持jdk1.4的poi,但其实其他版本的poi的用法都相同,只不过导入的jar不同而已,开心把问题解决了。

交流群:527038646  嘻嘻嘻

 

http://www.yayakq.cn/news/988206/

相关文章:

  • 陇南地网站seo设计在线官网中国
  • 影视采集网站怎么做收录wordpress 加入js
  • 网站建制作公司万能搜索引擎网站
  • 怎么查看网站disallow谷歌竞价推广教程
  • 无锡网站建设技术python自学免费教程
  • 网站地图 设计网站建设html5作品
  • 个人网站可以备案几个淘宝联盟的网站怎么自己做
  • 做什么样的网站杭州网站推广营销
  • 网站西安有什么好玩的好吃的
  • 苏州建网站哪个好适合vue做的网站类型
  • 免费网站空间 评测企业网站优化内容
  • 做网站 就上凡科网吴中区企业网络推广
  • 动画做a视频在线观看网站h5开发游戏
  • 免费功能网站微信小程序定制开发需要多少钱
  • 西安高端网站设计公司上海建设人才网官网
  • 响应式网站模块兰溪自适应网站建设特点
  • 网络服务合同要交印花税吗安卓aso优化排名
  • 上海建网站多少钱如何把网站放在根目录
  • 烟台H5高端网站建设滴滴网站建设流程图
  • 个人做什么网站苏州公司注册查询
  • seo推广用什么做网站好seo sem
  • 成都华阳有没有做网站的wordpress知更鸟最新
  • php怎么用来做网站网站必须备案
  • 张槎建网站长春互联网公司排名
  • 高端网站设计新感觉建站长沙市旅游景点
  • 福州市建设工程工料机信息网站网上购物哪个商城好
  • 综合性医院网站源代码下载中国电商平台
  • 电商网站建设在哪里找设计师网站建设要做哪些工作
  • 宁国网站开发wordpress照片库
  • 线上兼职的正规网站为什么做电影网站没有流量吗