场景:将错误描述文件内容导入到Excel的指定列;
在工程的build path中添加jxl.jar,网址:http://www.andykhan.com/jexcelapi/
import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; import jxl.Workbook; import jxl.write.Label; import jxl.write.WritableSheet; import jxl.write.WritableWorkbook; /** * 将错误码的描述信息导入到表格中 */ public class ErrorsToExcel { //错误码文件的默认编码格式 private String defaultEncoding = "gb2312"; private String errorsXls = "errorMessage_batch_template.xls"; private String errorsSrcFile = "error-messages.properties"; //写入错误码的列 private int errorCodeIndex = 1; //要写入错误描述的表格的列 private int[] errorDescIndexs = {5,6}; /** * 将错误码的相关数据写入到给定的Excel中 */ public boolean appendErrorsToXls(){ boolean flag = true; Workbook book = null; WritableWorkbook writableWorkbook = null; try{ File excelFile = new File(errorsXls); if(!excelFile.exists()){ System.out.println("要导入的Excel模板不存在"); return false; } //获取可写入的Excel对象 book = Workbook.getWorkbook(excelFile); writableWorkbook = Workbook.createWorkbook(excelFile, book); //获取可写入的表格对象 WritableSheet targetSheet = writableWorkbook.getSheet(0); //添加数据 if(!appendDataToSheet(targetSheet)) flag = false; //将表格中的数据写入Excel中 writableWorkbook.write(); }catch(Exception e){ System.out.println("将错误码放到Excel时出错"); flag = false; }finally{ if(book!=null){ book.close(); } if(writableWorkbook!=null){ try { writableWorkbook.close(); } catch (Exception e) { e.printStackTrace(); } } } return flag; } /** * 将数据写入到表格Sheet中 * * @param targetSheet 要写入数据的表格 * @return true表示写入成功 false表示失败 * @throws IOException */ private boolean appendDataToSheet(WritableSheet targetSheet) throws IOException{ boolean flag = true; File file = null; file = new File(errorsSrcFile); if(!file.exists()){ System.out.println("错误码源文件不存在"); return false; } //进行编码格式的转换 InputStreamReader streamReader = new InputStreamReader(new FileInputStream(file), defaultEncoding); BufferedReader reader = new BufferedReader(streamReader); String nextLine = ""; int row = 1; //处理格式 while((nextLine=reader.readLine())!=null){ String[] codeDescs = nextLine.split("="); if(codeDescs.length<=1){ //非错误码内容行 continue; } try{ //插入错误码单元格 Label codeLabel = generateLabel(errorCodeIndex-1, row, codeDescs[0]); targetSheet.addCell(codeLabel); //插入描述信息单元格 for(int j=0; j<errorDescIndexs.length; ++j ){ Label descLabel = generateLabel(errorDescIndexs[j]-1, row, codeDescs[1]); targetSheet.addCell(descLabel); } }catch(Exception e){ System.out.println("插入单元格信息出错"); } row++; } return flag; } private Label generateLabel(int col, int row, String contents){ //Label的构造函数中是列序号在前,行序号在后 return new Label(col, row, contents); } public String getErrorsXls() { return errorsXls; } public void setErrorsXls(String errorsXls) { this.errorsXls = errorsXls; } public String getErrorsSrcFile() { return errorsSrcFile; } public void setErrorsSrcFile(String errorsSrcFile) { this.errorsSrcFile = errorsSrcFile; } public static void main(String[] args){ ErrorsToExcel transformer = new ErrorsToExcel(); if(transformer.appendErrorsToXls()){ System.out.println("导入Excel成功"); }else{ System.out.println("导入Excel失败"); } } }
遇到的奇葩问题:
在Java工程中使用jxl时,一切正常。但是,日后将相应文件迁移到Spring MVC环境中使用时(且将jxl.jar加到了工程的build path中),但是加载工程时,每次调用到使用jxl的类时,都会报错jxl/write/writableCell类不存在;
解决方式:将jxl.jar放到WEB-INF/lib下解决;
相关推荐
这里我们将深入探讨如何使用jxl.jar库在Android环境中操作Excel表格,特别是处理隐藏表的情况。 首先,jxl是一个Java库,它允许我们以编程方式读取和写入Microsoft Excel文件。由于Android系统基于Java,因此可以...
下面将详细介绍如何使用`jxl.jar`进行Excel的读写操作。 首先,你需要将`jxl.jar`添加到你的项目类路径(Classpath)中。这通常可以通过以下几种方式完成: 1. 如果你是使用Eclipse或IntelliJ IDEA这样的IDE,你...
《使用jxl.jar包在Java中操作Excel文件的详尽指南》 在Java开发中,与Excel文件交互是一项常见的任务,比如数据导入、导出、分析等。jxl.jar库提供了一个强大的解决方案,使得开发者无需依赖Windows环境即可处理...
使用jxl.jar进行Excel操作的方法相对简单。首先,需要将jxl.jar添加到项目类路径中,然后就可以通过其提供的API来实现各种功能。例如,可以创建一个新的工作簿,添加工作表,设置单元格的值,甚至可以处理公式和图表...
本文将深入探讨如何使用jxl.jar这个完整的Java库来创建Excel文件,并设置字体样式、表格等格式。 首先,我们要理解jxl库的核心功能。jxl库支持读取和写入Excel 97-2003格式的文件(.xls),提供了一个API,允许...
本篇文章将深入探讨如何使用jxl.jar库来实现Java操作Excel。 首先,jxl是一个广泛使用的Java库,它允许开发者读写Microsoft Excel文件。它的主要优势在于简单易用且功能丰富,支持多种Excel格式,包括老版本的.BIFF...
jxl.jar 通过java操作excel表格的工具类库 支持Excel 95-2000的所有版本 生成Excel 2000标准格式 支持字体、数字、日期操作 能够修饰单元格属性 支持图像和图表 应该说以上功能已经能够大致满足我们的需要。...
本文将详细介绍如何使用`jxl.jar`进行Excel操作,并探讨其核心功能和用法。 首先,`jxl.jar`支持的Excel版本主要是微软的.BIFF格式,即Excel 97-2003的文件格式。虽然不直接支持.xlsx格式(Excel 2007及以后版本)...
描述中提到"本压缩文件包含了jxl.jar和使用例子",意味着我们不仅可以获取到处理Excel的库,还能通过提供的示例学习如何实际操作。这对于初学者或需要快速上手Excel操作的开发者来说是非常有价值的资源。 标签...
《深入理解Java库jxl.jar:操作Excel的利器》 在Java编程中,处理Excel文件是一项常见的任务,尤其是在数据导入导出、报表生成等领域。jxl.jar作为一个纯Java实现的库,为开发者提供了便捷的方式来读取和写入Excel...
java操纵excel的jar包
jxl.jar是通过java操作excel表格的工具类库,开发过程中经常需要用到数据的导入导出功能,之前用的是POI,这次使用JXL,JXL相对于POI来说要轻量简洁许多,在数据量不大的情况下还是非常实用的。
本文将详细探讨jxl.jar库的核心功能、使用方法以及相关API,帮助读者深入了解如何借助这个工具包来解析Excel文件。 jxl.jar是Java语言中的一款开源库,专门用于读写Microsoft Excel文件。它不仅支持读取现有的Excel...
总结来说,本问题的解决方案是通过深入理解Java jar包的结构和操作,以及Web Dynpro与外部系统交互的方式,定位到jxl.jar中处理Excel文件的代码,并对其进行优化,以适应多语言环境,确保正确显示非ASCII字符。...
官网最新jxl-2.6.12.jar 是通过纯java操作excel表格的工具类库,支持Excel 95-2000的所有版本,生成Excel 2000标准格式,支持字体、数字、日期操作,能够修饰单元格属性,支持图像和图表
使用jxl.jar,你可以无需依赖Microsoft Excel应用程序就能在Java程序中处理Excel文件,这在服务器端操作或自动化流程中特别有用。 JExcelApi的版本jexcelapi_2_4_5是一个稳定版,它修复了前一版本的一些已知问题,...
1. **基本操作**:使用jxl.jar,你可以创建新的Excel工作簿,添加工作表,设置单元格的值,以及读取已有Excel文件中的数据。例如,可以创建一个新的Workbook对象,然后在这个工作簿中添加Sheet对象,再在Sheet上填充...
《使用jxl.jar进行Excel数据导出详解》 在IT领域,尤其是在数据分析、报表生成以及数据交换等场景中,Excel文件常常被用作数据存储和展示的工具。Java程序员经常需要处理与Excel文件的交互,比如导出数据到Excel。...