`

使用jxl读取excel内容,并转换成Json,用于Datagrid

 
阅读更多

一、上传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数据,和把json数据生成到excel文件中

    Excel主要用于存储和处理结构化的表格数据,而JSON(JavaScript Object Notation)则是网络传输数据的常用格式,尤其适合前后端交互。本篇文章将围绕如何将Excel数据转换为JSON,以及将JSON数据写入到新的Excel文件...

    java利用jxl读取excel文件

    `jxl`库是一个广泛使用的第三方库,它允许开发者轻松地读取、写入和修改Excel文件。本篇文章将深入探讨如何利用`jxl.jar`包来实现这一功能。 首先,确保你已经正确地将`jxl.jar`文件添加到你的项目类路径中。这可以...

    JXL 读取EXCEL

    由于提供的压缩包子文件名是"readExcel",我们可以假设这个文件可能包含了一个简单的Java程序,用于演示如何使用JXL读取Excel文件。如果你想要进一步了解或调试这个例子,可以解压文件并运行其中的代码。 总的来说...

    使用jxl读取Excel表格数据

    "使用jxl读取Excel表格数据"这个主题就是关于如何利用jxl库来实现这一目标。jxl是一个开源的Java库,它提供了对Microsoft Excel文件格式的支持,使得在Java中操作Excel变得简单。 首先,你需要获取jxl的jar包。由于...

    jxl读取excel数据(带实例)

    本文将详细介绍如何使用JXL库来读取Excel数据,并通过一个实际的代码示例进行演示。 首先,你需要在项目中引入JXL库。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml &lt;groupId&gt;...

    利用jxl读取Excel代码的完整内容,包括jar包

    接下来,使用两个嵌套的for循环遍历所有行和列,读取每个单元格的内容并打印出来。最后,别忘了关闭`Workbook`以释放资源。 需要注意的是,jxl库支持Excel 97-2003格式(.xls),但不支持较新的Excel 2007及以上...

    jxl 读取Excel模板并写入数据通用工具类

    接下来,我们可以创建一个名为`ExcelUtils`的工具类,其中包含两个主要方法:`readTemplate`用于读取Excel模板,`writeData`用于将数据写入到模板中。这里我们假设模板中的某些单元格被标记为数据占位符,这些占位符...

    jxl读取Excel文件

    NULL 博文链接:https://zhouyq.iteye.com/blog/272883

    java使用jxl打印excel报表文件

    JXL库是一个广泛使用的Java库,它允许开发者读取、写入和修改Excel文件。本篇将深入探讨如何使用JXL库在Java中打印Excel报表。 首先,要使用JXL库,你需要在项目中引入它的依赖。在本例中,`jxl.jar`是JXL库的核心...

    用jxl读取excel内容的java工程源码

    本项目源码提供了一种使用jxl库来读取Excel内容的方法,这是一个非常实用的技术点。jxl是一个开源的Java库,专门用于读写Microsoft Excel文件,它为Java开发者提供了与Excel文件交互的能力,而无需依赖Microsoft ...

    jxl读取excel的java代码小程序

    在Java编程环境中,处理Excel数据是一项常见的任务,特别是在数据导入导出、数据分析或者报表生成等...这个"jxl读取excel的java代码小程序"就是一个很好的起点,帮助我们了解并掌握使用JXL进行Excel读取的基本步骤。

    JXL读写Excel小例子

    JXL是一个开源的Java库,专门用于读取和写入Microsoft Excel文件(.xls格式)。在这个"JXL读写Excel小例子"中,我们将深入探讨如何使用JXL库来操作Excel数据。 首先,为了开始使用JXL,你需要将其添加到你的项目...

    jxl读写excel数据,输出图片

    在Java编程环境中,JXL库是一个非常流行的工具,用于读取和写入Microsoft Excel文件。JXL库提供了方便的API,使得开发者可以轻松地处理Excel数据,包括读取单元格内容、修改工作表、添加公式,以及本文重点讨论的...

    jxl读取Excel报表

    通过上述步骤,你可以使用jxl库读取网络上传的Excel文件流,从而获取并处理Excel报表中的数据。记住,jxl库仅支持Excel的旧版格式(.xls),对于.xlsx格式的现代Excel文件,你可能需要使用其他库,如Apache POI。

    使用jxl操作Excel

    在Java编程环境中,处理Excel数据是一项常见的任务,而`jxl`库是一个广泛使用的开源库,专门用于读取和写入Microsoft Excel文件。本篇将详细介绍如何使用`jxl`库进行Excel的操作,包括导入、导出、读取以及更新Excel...

    POI和JXL读取EXCEL数据的工具类(POI支持2007)

    本主题将详细讲解如何使用Apache POI和JExcelApi(JXL)这两个Java库来读取Excel文件,以及提供的工具类`PoiUtil.java`和`JxlUtil.java`的使用方法。 Apache POI是一个流行的开源库,它允许开发者创建、修改和显示...

    使用jxl解析excel(.xls)固定模板(智联简历为例)

    3. **解析保存**:使用JXL库读取并解析Excel文件。以下是一个简单的示例代码片段,展示如何打开文件并遍历工作表: ```java Workbook workbook = Workbook.getWorkbook(new File("path_to_your_excel_file")); ...

    操作Excel文件(读取和生成)jxl和poi

    JXL和Apache POI是两个广泛使用的库,分别提供了对Excel文件的读取和生成的支持。本篇文章将深入探讨这两个库的使用方法及其特点。 首先,JXL是一个Java API,主要用于读写Excel 97-2003格式的工作簿,即.xls文件。...

    jsp+jspsmart上传+poi3.8读取excel2007+jxl读取excel2003

    在给定的标题和描述中,"jsp+jspsmart上传+poi3.8读取excel2007+jxl读取excel2003" 提到了一种结合Java Web技术实现文件上传,并通过不同库解析Excel文件的解决方案。这里我们将详细探讨涉及的各个知识点。 首先,`...

Global site tag (gtag.js) - Google Analytics