一、上传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("}");
分享到:
相关推荐
java利用jxl.jar包读取excel文件
jxl读取excel数据(带实例) 里面有一个自己写的实例
java中使用jxl打印excel报表,java中使用jxl打印excel报表,java中使用jxl打印excel报表
最近刚好用到jxl来读取Excel表格数据,百度上找遍都找不到jxl的jar包,最后通过其他途径找到了,所以分享一下,让接下来的同学不要费劲找jar包了。
用jxl读取excel内容的java工程源码,放到eclipse中稍微建立包名即可测试
NULL 博文链接:https://zhouyq.iteye.com/blog/272883
利用jxl读取Excel代码的完整内容,包括jar包。包括测试用例,下载后放到eclipse中即可运行,运行主类JHUserImportMgr的main函数即可看到效果。
jxl 读取Excel模板并写入数据通用工具类
jxl 读取2003 excel demo 使用jxl 操作excel
JAVA利用jxl读取Excel所需jar。 JAVA可以利用jxl简单快速的读取excel文件的内容。由于版本限制,只能读取97-03 xls格式的Excel。
NULL 博文链接:https://mzllyl.iteye.com/blog/1021091
NULL 博文链接:https://jsufly.iteye.com/blog/767602
用jxl读写excel数据,输出图片到excel
jsp+jspsmart上传+poi3.8读取excel2007+jxl读取excel2003
通过一个小例子了解jxl的读取,使用于java初学者。里面用到的包可以在CSDN下载得到。
简单的介绍了JXL读写Excel java excle api
包含POI和JXL读取EXCEL数据的工具类(可以直接调用)和需要的工具类
使用jxl解析excel固定模版(导入解析),本资源是以智联excel简历为例解析, 1:上传 2:临时存储,3:解析保存,4:删除临时资源关闭流
使用jxl操作Excel,可以作为一个帮助文件
jxl读取Excel, 对Excel 进行读写操作