java poi 解析excel 输出json 并且拼接字符串显示到jsp
来源:互联网 发布:access vba编程入门 编辑:程序博客网 时间:2024/05/22 09:49
##js代码
$(function() {
$("#file_form").submit(
function() {
//首先验证文件格式
var fileName = $('#file_input').val();
if (fileName === '') {
alert('select');
return false;
}
var fileType = (fileName.substring(fileName
.lastIndexOf(".") + 1, fileName.length))
.toLowerCase();
if (fileType !== 'xls' && fileType !== 'xlsx') {
alert('false,is not excel!');
return false;
}
$("#file_form").form("submit", {url:"demo/readExcel", onSubmit:function () {
return $(this).form("validate");
}, success:function (data) {
console.log(data);
var sql = $("#sql");
sql.append(data);
sql =data;
if (data == "success") {
alert("success");
} else {
}
}});
return false;
});
});
</script>
##jsp
<form id="file_form" action="uploadFile" enctype="multipart/form-data" method="post">
<input type="file" name="file" id="file_input" value="file" />
<input type="submit" value="upload" id='upFile-btn'>
</form>
##java代码
package com.cn.controller;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
//import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import com.jfinal.core.Controller;
import com.jfinal.upload.UploadFile;
public class readController extends Controller {
public void readExcel() {
UploadFile file = getFile("file");
file.getOriginalFileName();
File filepath = file.getFile();
String aa = "";
try {
aa = Excel(filepath);
} catch (Exception e) {
// TODO: handle exception
}
renderText(aa);
}
/**
* 解析excel并且转换成字符串
*/
public static String Excel(File filepath) throws Exception {
// String fileType = filepath.substring(filepath.lastIndexOf(".") + 1,
// filepath.length());
// 流
InputStream is = new FileInputStream(filepath);
Workbook wb = null;
String sqlStr = "create table Tablist ( " + "\r\n";// 拼接的建表字符串
// try {
//// is = new FileInputStream(filepath);
//
// if (fileType.equals("xls")) {
// wb = new HSSFWorkbook(is);
// } else if (fileType.equals("xlsx")) {
wb = new XSSFWorkbook(is);
// } else {
// throw new Exception("该文件不是excel");
// }
int sheetSize = wb.getNumberOfSheets();
for (int i = 0;i < sheetSize;i++) {
Sheet sheet = wb.getSheetAt(i);
List<String> titles = new ArrayList<String>();// 放置所有的标题
int rowSize = sheet.getLastRowNum() + 1;
int j = 0;
while (j < rowSize) {
Row row = sheet.getRow(j);
while (row == null) {
continue;
}
;
int cellSize = row.getLastCellNum();// 行中有多少个单元格,也就是有多少列
if (j == 0) { // 第一行是标题行
int k = 0;
while (k < cellSize) {
Cell cell = row.getCell(k);
titles.add(cell.toString());
k++;
}
} else {
if (j != 1) {
sqlStr += "," + "\r\n";
}
int k = 0;
while (k < titles.size()) {
Cell cell = row.getCell(k);
// String key = titles.get(k);
int value = 0;
if (cell != null) {
if (k == 2) {
value = (int) Double.parseDouble(cell.toString());
sqlStr += "(" + value + ")";
} else if (k == 3) {
if ("否".equals(row.getCell(3).toString())) {
String con = "not null";
sqlStr += " " + con;
}
} else {
String str = cell.toString();
sqlStr += " " + str;
}
}
k++;
}
}
j++;
}
}
// } catch (Exception e) {
// throw e;
sqlStr += "\r\n" + ")";
System.out.println("sqlStr=+\r\n" + sqlStr);
return sqlStr;
}
}
这里主要讲java怎么实现读取excel 欢迎大家赏阅指正
- java poi 解析excel 输出json 并且拼接字符串显示到jsp
- POI实现json字符串解析后导出到excel
- Java 通过Poi解析数据到EXCEL
- 使用poi读写excel2007中的所有sheet表——显示到jsp中(读),并且导出此excel表(写)
- java poi 解析excel
- java POI解析Excel
- java拼接和解析json
- java 拼接和解析json
- java中拼接Json字符串
- 【Java】利用poi插件,把Excel内容读入Java,把Java中的内容输出到Excel
- js解析json字符串并在jsp显示
- Java使用poi解析Excel
- java+poi解析excel文件
- java poi 解析excel数据
- Servlet + Jsp + Poi 实现 excel 的解析
- java 导出到excel----POI
- java poi 导出到Excel
- JAVA POI 创建 Excel文件打开加密 并输出到输出流
- 04_检查大小端
- Hibernate基本概念及开发环境的搭建
- ajax传多个实体参数到后端controller
- Eva's Balance
- win10中微软账户中文名称修改后本地用户文件夹仍为中文名
- java poi 解析excel 输出json 并且拼接字符串显示到jsp
- Realm源码分析之初始化
- leetcode[Arranging Coins]
- [bzoj2946][后缀数组][Poi2000]公共串
- mongoDB的使用
- 【剑指offer】面试题26:树的子结构
- 将form表单封装成对象
- platform_set_drvdata 和 platform_get_drvdata
- 三级联动