`
sailing04
  • 浏览: 61261 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

如何应用JExcel API导入并操作表格xls文件

阅读更多
摘自:http://www.xasxt.com/index.php/article/jiaocheng/shipin_1801.html
不用大费周章的,在这里我举出两个简单的例子。 第一个例子会展示如何1)导入一个Excel表2)读取并操作它的数据。第二个例子会展示如何导出电子表格到客户端。

  示例1:导入和操作Excel 表

  为了简化文件访问操作,我决定在我所举的例子中使用的Struts。

  以下表格将被导入例子中,修改,然后返回客户端。

  利用Java导入并操作 Microsoft Excel 文档

  1. 建立文件上传表

  第一步是建立一个JSP, 能允许客户端选择表格上传到服务器(见列表1)。

  列表 1: Excel 文件上传表格

  
    < %@ taglib uri="/WEB-INF/tlds/struts-html.tld"

  prefix="html"%>

  < html>

  < head>

  < title>Struts File Upload< /title>

  < html:base />

  < /head>

  < html:form action="/uploadExcel" method="post"

  enctype="multipart/form-data">

  < table>

  < tr>

  < td align="left" colspan="3">< font color="red">

  < html:errors />< /font>

  < /td>

  < /tr>

  < tr>

  < td align="right">Select Microsoft Excel File : < /td>

  < td>

  < html:file property="excelFile"/>

  < /td>

  < td>

  < html:submit>Upload File< /html:submit>

  < /td>

  < /tr>

  < /table>

  < /html:form>

  < /body>

  < /html>

  Struts < html:file> 标签允许你编辑数据org.apache.struts.upload.FormFile(见第二步)

  表格内容类型"multipart/form-data" 是用来提交包括非ASCII数据和二进制数据的文件。

  2. 创建Struts Action 表(Struts Action Form)

  第二步是创建一个可以容纳上传文件的Action Form(见列表2)

  列表 2: Struts上传表格功能表

  
      package test.excel.form;

  import org.apache.struts.action.*;

  import org.apache.struts.upload.FormFile;

  public class StrutsUploadForm extends ActionForm {

  private FormFile excelFile;

  public FormFile getExcelFile() {

  return excelFile;

  }

  public void setExcelFile(FormFile excelFile) {

  this.excelFile = excelFile;

  }

  }
  3. Struts Action 代码(Struts Action Code)

  Struts action 会有一个代码从StrutsUploadForm 功能表中得到文件,检查content type并且通过文件的输入流到达Workbook class。Workbook是代表了一个工作薄的JExcelApi class。这个种类包括各种各样的工厂方法(factory methods并且提供了多种可以提供工作表入径的accessors(见列表3)。

  列表 3: Excerpt from ExcelUploadAction.java struts action class 从ExcelUploadAction.java struts action class摘录

  
      ...

  StrutsUploadForm uploadForm = (StrutsUploadForm)form;;

  FormFile myFile = uploadForm.getExcelFile();

  Workbook workbook =

  Workbook.getWorkbook(myFile.getInputStream());

  ...
  现在你可以把工作表加进Workbook class,你就可以开始遍历其行。以下的代码将会从工作簿中得到第一个工作表,还有很多行和列并且重复每一行,显示每格的内容。(见列表4)

  Listing 4: 从ExcelUploadAction.java struts action class摘录

  
      ...

  Sheet sheet = workbook.getSheet(0);

  int numberOfRows = sheet.getRows();

  int numberOfColumns = sheet.getColumns();

  for (int row = 0; row < numberOfRows; row ++ ) {

  for (int column = 0; column < numberOfColumns; column ++ ) {

  Cell cell = sheet.getCell(column,row);

  System.out.print(cell.getContents() + " | ");

  }

  System.out.println();

  }

  ...
  在以下的代码片段中,你会在列名“Age”下获取所有价值并且计算平均年龄(见列表5)。

  列表 5: 在Java 中计算平均年龄

  
      ...

  LabelCell labelCell = sheet.findLabelCell("Age");

  int ageColumnNumber = labelCell.getColumn();

  double ageSum = 0;

  for (int row = 1; row < numberOfRows; row ++ ) {

  Cell cell = sheet.getCell(ageColumnNumber,row);

  if (CellType.NUMBER.equals(cell.getType())){

  ageSum = ageSum + Integer.parseInt(cell.getContents());

  }

  }

  double averageAge = ageSum / (numberOfRows - 1);

  System.out.println("Sum Age : " + ageSum);

  System.out.println("Average Age : " + averageAge);

  ...
  示例2: 从Servlet输出一个Excel文件

  在这个例子中,你会创建一个Excel 表并且把它交回到浏览器。

  在以下的例子中你将会看到,用JExcelApi创建一个Excel表是一件非常简单的流程。在你用的doPost()方法中,设置HTTP Response content type到"ms-excel" 并且设置Content-Disposition 到"attachment",然后提供附件名称(见列表6)。

  列表 6: 从Servlet输出一个Excel文件

  
      ...

  response.setContentType("application/vnd.ms-excel");

  response.setHeader("Content-Disposition",

  "attachment; filename=sampleName.xls");

  WritableWorkbook writableWorkbook =

  Workbook.createWorkbook(response.getOutputStream());

  WritableSheet writableSheet =

  writableWorkbook.createSheet("Demo", 0);

  writableSheet.addCell(new Label(0, 0, "Hello World"));

  writableWorkbook.write();

  writableWorkbook.close();

  ...
  这个示例展示出创建一个电子表"sampleName.xls"其中包括一个工作表,这个工作表中又包括了在A1格中有"Hello World"文本。
分享到:
评论

相关推荐

    JExcel2.0-API

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

    jexcel api,jxl 源代码

    jxl,通过java操作excel表格的工具类库。这是jxl的源代码和jar。jxl全称jexcel。官方版。

    jExcel学习帮助文档

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

    jexcel java操作excel

    Java Excel是一开放源码项目,通过它Java...使用该API非Windows操作系统也可以通过纯Java应用来处理Excel数据表。因为是使用Java编写的,所以我们在Web应用中可以通过JSP、Servlet来调用API实现对Excel数据表的访问。

    jExcel是一个轻量级的javascript插件用于创建与Excel兼容并基于Web的交互式表格和电子表格

    jExcel是一个轻量级的javascript插件,用于创建与Excel兼容并基于Web的交互式表格和电子表格

    jexcel+api.rar

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

    jexcel api

    jxl jexce api jxl jexce api

    JExcel API

    在java程序中操作Excel的API

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

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

    jexcel 导出excel文件的demo

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

    jExcel是一个轻量级的javascript插件,用于创建与Excel兼容并基于Web的交互式表格和电子表格-javascript

    jExcel是一个轻量级的javascript插件,用于创建与Excel兼容并基于Web的交互式表格和电子表格 jExcel CE 是一个轻量级的 Vanilla JavaScript 插件,用于创建与 Excel 或任何其他电子表格软件兼容的基于 Web 的交互式 ...

    jexcel:jExcel是一个轻量级的香草javascript插件,可以创建与Excel或任何其他电子表格软件兼容的基于Web的惊人的交互式表格和电子表格。

    您可以从excel复制并直接粘贴到jExcel CE电子表格,反之亦然。 集成任何第三方JavaScript插件来创建您自己的自定义列,自定义编辑器,以及将任何功能自定义到您的应用程序中都是非常容易的。 jExcel CE通过其本机列...

    jexcel-master

    与jexcel图书馆,您可以与工作簿文件(将XLS , xlsx ) ,作业簿,电子表格,工作或什至特定范围的细胞在Java应用程序。修改细胞的价值观,细胞数量的格式,公式等,您还可以打印Excel文件。另外,您也可以自订细胞...

    JExcel的.Net实现

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

    jExcel-类似Excel的jquery电子表格插件

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

    jexcel.zip

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

    jExcel实现

    jExcel具体实现

    jexcel所需jar包

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

    JExcel 实用指南

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

    JExcelAPI

    JExcelAPI java 用于操作excel的一些API JAr包

Global site tag (gtag.js) - Google Analytics