`

JExcel简单实用

阅读更多
通过读取Excel文档批量插入或更新数据库数据, 这种方式在现有软件应用当中已经屡见不鲜了,下面我简单介绍一下使用JExcel开源工具读取excel文档。
一般读取存在两种:其中一种是读取本地文件;另外一种是通过上传的方式直接读取excel内容。
这两种方式大同小异,主要区别在于获取WorkBook调用方法的不同。
第一种:
WorkBook workbook = WorkBook.getWorkbook(java.io.File file);

第二种是在第一种的基础之上直接读取输入流
WorkBook workbook = WorkBook.getWorkbook(java.io.InputStream is);

获取到WorkBook对象后就可以得到sheet对象和Cell对象了。

下面是读取上传文件方式读取的例子,该例子需要commons-fileupload-*.jar和commons-io-*.jar两个包。
<!-- 通用上传组件 -->
<form method="post" enctype="multipart/form-data" action="../test/uploadoperation.jsp">
<table>
<tr>
<td>
请选择需要上传的文档:
</td>
<td>
<input type="file" id="filename" name="filename">
</td>
<td><input type="submit" value="上传"></td>
</tr>
</table>
</form>

response.setContentType("text/html;charset=gbk");
if (!DiskFileUpload.isMultipartContent(request)) {
out.println("只能处理multipart/form-data类型的数据!");
return;
}
DiskFileUpload fu = new DiskFileUpload();
// 最多上传200M数据
fu.setSizeMax(1024 * 1024 * 200);
// 超过1M的字段数据采用临时文件缓存
fu.setSizeThreshold(1024 * 1024);
// 设置上传的普通字段的名称和文件字段的文件名所采用的字符集编码
fu.setHeaderEncoding("gbk");

// 得到所有表单字段对象的集合
List fileItems = null;
try {
fileItems = fu.parseRequest(request);
} catch (FileUploadException e) {
out.println("解析数据时出现如下问题:");
e.printStackTrace();
return;
}

// 如果存在多个文件, 循环读取内容
// 处理每个表单字段
Iterator i = fileItems.iterator();
while (i.hasNext()) {
FileItem fi = (FileItem) i.next();
if (fi.isFormField()) {
String content = fi.getString("UTF-8");
String fieldName = fi.getFieldName();
request.setAttribute(fieldName, content);
} else {
try {
String pathSrc = fi.getName();
/*
* 如果用户没有在FORM表单的文件字段中选择任何文件,那么忽略对该字段项的处理
*/
if (pathSrc.trim().equals("")) {
continue;
}

InputStream is = fi.getInputStream();//得到文件流

Workbook wb = Workbook.getWorkbook(is);//先得到workbook对象
Sheet sheet = wb.getSheet(0);//然后获取该excel对象的工作表对象,sheet对象可存在多个,可通过
//根据实际情况判断是否需要读取第一行的内容
//举例:如果是要把数据导入到数据库, 则可在第一列放置数据库字段名, 可先通过字段名创建表, 然后插入数据
//注意:这里需要注意数组越界的问题
for (int m = 0; m < sheet.getRows(); m++) {
//先读行, 然后读列
Cell[] cells = sheet.getRow(m);
for (int j = 0; j < cells.length; j++)
{
System.out.println(cells[j].getContents());
}
}
} catch (Exception e) {
out.println("存储文件时出现如下问题:");
e.printStackTrace();
return;
} finally { // 总是立即删除保存表单字段内容的临时文件
fi.delete();
}
}
}
分享到:
评论

相关推荐

    JExcel 实用指南

    JExcel 实用指南(英),实用开发指南

    jExcel学习帮助文档

    jExcel学习,如果在你的项目中需要解析 Excel 文件,比如,作为用户上传的模板进行解析。那么选择 jExcel 将是一个不错的决定!虽然 Apache 的 Commons 开源组件包 POI 也能完成相同的功能,但 jExcel 小巧、对中文...

    jExcel实现

    jExcel具体实现

    JExcel的.Net实现

    Java开源Excel读写库JExcel的.Net实现,在JExcel基础上改写,可以不需要Excel程序就能读写Excel文件。

    jexcel 资源包下载 当前js版本为 v4.10.1

    可以从excel复制并直接粘贴到jExcel CE电子表格,反之亦然。 很容易集成任何第三方JavaScript插件来创建您自己的自定义列、自定义编辑器,并在应用程序中自定义任何特性。 jexcelce通过其本机列类型有很多不同的输入...

    JExcel2.0-API

    JExcel2.0的API文档 自己根据官方文档制作,供有兴趣的朋友分享

    jexcel 导出excel文件的demo

    jexcel导出excel文件的demo。版本是6.120.包括读取excel,创建新excel,复制excel三个,其中创建excel又分为普通信息,数字,时间,格式化信息,格式化数值,格式化时间等等,有设置单元格大小,单元格样式,单元格...

    JExcel-1.7

    jexcel-1.7-windows-32_64-bit,JExcel 1.7版本,支持32和64位。

    jexcel java操作excel

    Java Excel是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容、创建新的Excel文件、更新已经存在的Excel文件。使用该API非Windows操作系统也可以通过纯Java应用来处理Excel数据表。...

    jexcel.zip

    jexcel.js是一款轻量级的类似Excel的jquery电子表格插件。你可以同js数组、json数据或CSV文件来为jexcel表格提供数据,你甚至可以直接从一个Excel表格中直接复制粘贴数据到jexcel表格中。

    jxls-jexcel-1.0.6.jar

    jxls-jexcel-1.0.6.jar java读取excel文件的jarjxls-jexcel-1.0.6.jar

    jexcel-master

    jexcel (衍生金融工具从Java和Excel )图书馆提供了一个有效的方法,整合到以MS Excel的Java应用得如火如荼。您可以轻松地读,写,创建,修改或展示女士Excel工作簿使用一个全面的Java Excel中的空气污染指数。它的...

    jexcel所需jar包

    Java Excel是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容、创建新的Excel文件、更新已经存在的Excel文件。使用该API非Windows操作系统也可以通过纯Java应用来处理Excel数据表。

    jexcel+api.rar

    java 处理excel工具,用于读取Excel内容,并进行必要的处理-java processing excel tool for Excel to read the content and the necessary processing

    jexcel-1.3.jar

    方面Javasqing对表格的操作,支持隔行变色

    JExcel / 小试牛刀

    NULL 博文链接:https://crazyidea.iteye.com/blog/455530

    Excel报表生成工具---JExcel

    Excel报表生成工具,能根据你的需要生成Excel和编辑现有的Excel报表,本压缩包包含了JAR包和AIP帮助文档.

    JExcel.java

    java(ssh) 将 Excel数据导入数据库表中. java代码详细注释讲解, 容易懂

Global site tag (gtag.js) - Google Analytics