一、上传excel文件,得到InputStream,由InputStream得到Jxl中的Workbook,取出内容,存到二维数组中。
1、使用 Jquery Uploadify 插件(http://www.uploadify.com/ ),得到FileItem,由FileItem得到InputStream。
String[][] excelContent = getExcelContent(fileItem.getInputStream());
2、将Excel内容存放到二维数组中。
public String[][] getExcelContent(InputStream is) {
try {
Workbook workBook = Workbook.getWorkbook(is);
Sheet sheet = workBook.getSheet(0);
int sheetColumns = sheet.getColumns();
int sheetRows = sheet.getRows();
// excel内容
String[][] excelContent = new String[sheetRows][sheetColumns];
for (int i = 0; i < sheetRows; i++) {
for (int j = 0; j < sheetColumns; j++) {
// 将excel值放入二维数组excelContent中
excelContent[i][j] = sheet.getCell(j, i).getContents();
}
}
二、将二维数组转换成JSON(stringBuffer)格式为:[{"filed1":,"value"},{"filed2":,"value2"}]
stringBuffer = convertToJson(excelContent);
拼字符串花了我很多时间
private static final String QUOTATION_MARKS = "\""; //双引号
private static final String COMMA = ","; //逗号
public StringBuffer convertToJson(String[][] srcArray) {
StringBuffer stringBuffer = new StringBuffer();
boolean first = true;
stringBuffer.append("[");
for (int i = 0; i < srcArray.length; i++) {
String[] arrayItem = srcArray[i];
if (!first) {
stringBuffer.append(COMMA);
}
stringBuffer.append("{");
boolean first2 = true;
for (int j = 0; j < arrayItem.length; j++) {
if (!first2) {
stringBuffer.append(COMMA);
}
stringBuffer.append(QUOTATION_MARKS + "field" + j
+ QUOTATION_MARKS + ":\"" + arrayItem[j]
+ QUOTATION_MARKS);
first2 = false;
}
stringBuffer.append("}");
first = false;
}
stringBuffer.append("]");
return stringBuffer;
}
三、生成可用于DataGrid加载的Json格式,即 {"total":n,"rows":[{"filed1":,"value"},{"filed2":,"value2"}]}。
sheetRows = excelContent.length;
sheetColumns = excelContent[0].length;
StringBuffer stringBuffer2 = new StringBuffer("");
stringBuffer2.append("{");
stringBuffer2.append(QUOTATION_MARKS + "total"
+ QUOTATION_MARKS + ":" + sheetRows + COMMA
+ QUOTATION_MARKS + "rows" + QUOTATION_MARKS + ":");
stringBuffer2.append(stringBuffer);
stringBuffer2.append("}");
分享到:
相关推荐
Excel主要用于存储和处理结构化的表格数据,而JSON(JavaScript Object Notation)则是网络传输数据的常用格式,尤其适合前后端交互。本篇文章将围绕如何将Excel数据转换为JSON,以及将JSON数据写入到新的Excel文件...
`jxl`库是一个广泛使用的第三方库,它允许开发者轻松地读取、写入和修改Excel文件。本篇文章将深入探讨如何利用`jxl.jar`包来实现这一功能。 首先,确保你已经正确地将`jxl.jar`文件添加到你的项目类路径中。这可以...
由于提供的压缩包子文件名是"readExcel",我们可以假设这个文件可能包含了一个简单的Java程序,用于演示如何使用JXL读取Excel文件。如果你想要进一步了解或调试这个例子,可以解压文件并运行其中的代码。 总的来说...
"使用jxl读取Excel表格数据"这个主题就是关于如何利用jxl库来实现这一目标。jxl是一个开源的Java库,它提供了对Microsoft Excel文件格式的支持,使得在Java中操作Excel变得简单。 首先,你需要获取jxl的jar包。由于...
本文将详细介绍如何使用JXL库来读取Excel数据,并通过一个实际的代码示例进行演示。 首先,你需要在项目中引入JXL库。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>...
接下来,使用两个嵌套的for循环遍历所有行和列,读取每个单元格的内容并打印出来。最后,别忘了关闭`Workbook`以释放资源。 需要注意的是,jxl库支持Excel 97-2003格式(.xls),但不支持较新的Excel 2007及以上...
接下来,我们可以创建一个名为`ExcelUtils`的工具类,其中包含两个主要方法:`readTemplate`用于读取Excel模板,`writeData`用于将数据写入到模板中。这里我们假设模板中的某些单元格被标记为数据占位符,这些占位符...
NULL 博文链接:https://zhouyq.iteye.com/blog/272883
JXL库是一个广泛使用的Java库,它允许开发者读取、写入和修改Excel文件。本篇将深入探讨如何使用JXL库在Java中打印Excel报表。 首先,要使用JXL库,你需要在项目中引入它的依赖。在本例中,`jxl.jar`是JXL库的核心...
本项目源码提供了一种使用jxl库来读取Excel内容的方法,这是一个非常实用的技术点。jxl是一个开源的Java库,专门用于读写Microsoft Excel文件,它为Java开发者提供了与Excel文件交互的能力,而无需依赖Microsoft ...
在Java编程环境中,处理Excel数据是一项常见的任务,特别是在数据导入导出、数据分析或者报表生成等...这个"jxl读取excel的java代码小程序"就是一个很好的起点,帮助我们了解并掌握使用JXL进行Excel读取的基本步骤。
JXL是一个开源的Java库,专门用于读取和写入Microsoft Excel文件(.xls格式)。在这个"JXL读写Excel小例子"中,我们将深入探讨如何使用JXL库来操作Excel数据。 首先,为了开始使用JXL,你需要将其添加到你的项目...
在Java编程环境中,JXL库是一个非常流行的工具,用于读取和写入Microsoft Excel文件。JXL库提供了方便的API,使得开发者可以轻松地处理Excel数据,包括读取单元格内容、修改工作表、添加公式,以及本文重点讨论的...
通过上述步骤,你可以使用jxl库读取网络上传的Excel文件流,从而获取并处理Excel报表中的数据。记住,jxl库仅支持Excel的旧版格式(.xls),对于.xlsx格式的现代Excel文件,你可能需要使用其他库,如Apache POI。
在Java编程环境中,处理Excel数据是一项常见的任务,而`jxl`库是一个广泛使用的开源库,专门用于读取和写入Microsoft Excel文件。本篇将详细介绍如何使用`jxl`库进行Excel的操作,包括导入、导出、读取以及更新Excel...
本主题将详细讲解如何使用Apache POI和JExcelApi(JXL)这两个Java库来读取Excel文件,以及提供的工具类`PoiUtil.java`和`JxlUtil.java`的使用方法。 Apache POI是一个流行的开源库,它允许开发者创建、修改和显示...
3. **解析保存**:使用JXL库读取并解析Excel文件。以下是一个简单的示例代码片段,展示如何打开文件并遍历工作表: ```java Workbook workbook = Workbook.getWorkbook(new File("path_to_your_excel_file")); ...
JXL和Apache POI是两个广泛使用的库,分别提供了对Excel文件的读取和生成的支持。本篇文章将深入探讨这两个库的使用方法及其特点。 首先,JXL是一个Java API,主要用于读写Excel 97-2003格式的工作簿,即.xls文件。...
在给定的标题和描述中,"jsp+jspsmart上传+poi3.8读取excel2007+jxl读取excel2003" 提到了一种结合Java Web技术实现文件上传,并通过不同库解析Excel文件的解决方案。这里我们将详细探讨涉及的各个知识点。 首先,`...