Java读取Excel文件的几点考虑
来源:互联网 发布:日本地震知乎 编辑:程序博客网 时间:2024/04/27 19:58
最近在做有关Java读取Excel的项目,最终的目的是希望做一个读取Excel文件导入到数据库正式表的通用组件。通用表现在不管是什么业务场景,不管Excel文件内容如何,都可以读取出来,不仅要页面显示,还要导入到数据库正式表中,同时可以为用户提供导入结果成功与否的信息。
而在读取Excel显示的部分,考虑了三种方法:
1、利用JSP的页面contentType属性实现:
tomcat/conf/web.xml下加:
<mime-mapping>
<extension>xls</extension>
<mime-type>application/msexcel</mime-type>
</mime-mapping>
需要导出的文件头上加:
<%@ page contentType="application/vnd.ms-excel" %>
类似于下面的代码show.jsp
<%
filename = request.getParameter("filename");
response.sendRedirect("../../XXXX/" + filename + ".xls"); // "../../XXXX/" 文件路径
%>
2、利用jdk自带的Microsoft ODBC驱动,直接读取Excel文件
String tx="";
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url = "jdbc:odbc:driver={Microsoft Excel Driver (*.xls)};DBQ=d://javaTest//test.xls";
Connection conn = DriverManager.getConnection(url);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from [Sheet1$]");
//一次显示一行,rs记录集的总记录数即为文件的行数,默认第一行作为Title是不读取的
while(rs.next()){
tx +=rs.getString(1)+"/n/n";
tx +=rs.getString(2)+"/n/n";
tx +=rs.getString(3)+"/n/n";
}
System.out.println(tx);
} catch (Exception e) {
e.printStackTrace();
}
3、利用jxl.jar这一第三方组件,逐行读取文件保存到内存中,然后再显示。拟采用二维数组链表来存放读取的数据,一个二维数组存放一行数据,链表的元素个数即为文件总行数。这一方法可能比较占内存,有待进一步测试验证。
显示完成之后,如果允许用户在页面对数据进行修改,修改后的值如何保存起来也是要考虑的问题。欢迎大家提出更好的建议!呵呵~~~~~~~~~~~~~
- Java读取Excel文件的几点考虑
- 编码读取EXCEL的几点注意
- Java读取Excel文件的几种方法
- 关于AIX系统文件安全性方面的几点考虑
- AIX系统文件安全性方面的几点考虑
- 数据库设计原则的几点考虑
- Javascript使用上的几点考虑
- Javascript使用上的几点考虑
- java读取excel文件
- java读取excel 文件
- java读取excel文件
- Java读取Excel文件
- java读取Excel文件
- java 读取excel 文件
- java读取Excel文件
- Java 读取Excel文件
- JAVA读取excel文件
- java读取Excel文件.
- DKOM Benefits and Drawbacks
- C/C++数组名与指针区别
- smarty 模板内嵌套 css js问题
- 单JVM上的TOMCAT,监听多个端口并拥有独立的根APP访问路径.
- 对于C语言中指针和数组的认识和看法
- Java读取Excel文件的几点考虑
- c语言可变参数详解.
- c语言中signal函数解释....
- 微软经典测试题
- 内存分配详解
- 外国技术网址
- 旅程报告:2008年 3月至8月 ISO C++ 标准会议
- SQL基础操作全集
- C语言变量和数据存储