Excel表格内容导出到页面


public void addExcelBooks() throws Exception {
HttpServletRequest request = ServletActionContext.getRequest();
String filepath = request.getParameter("filepath");
String fileType = filepath.substring(filepath.lastIndexOf("."));
InputStream is = null;
Workbook wb = null;
try {
String filedir = ServletActionContext.getServletContext().getRealPath(filepath);
File file = new File(filedir);
is = new FileInputStream(file);
if (fileType.equals(".xls")) {
wb = new HSSFWorkbook(is);
} else if (fileType.equals(".xlsx")) {
wb = new XSSFWorkbook(is);
} else {
throw new Exception("读取的不是Excel文件");
}
JSONArray jsonarr = new JSONArray();
for (int numSheet = 0; numSheet < wb.getNumberOfSheets(); numSheet++) {//excel的sheet
Sheet hf = wb.getSheetAt(numSheet);
if (hf == null) {
continue;
}
JSONObject jsonChildObj = new JSONObject();
for (int rowNum = 1; rowNum <= hf.getLastRowNum(); rowNum++) {
Row hr = hf.getRow(rowNum);
if (hr == null) {
break;
}
Cell hxh = hr.getCell(0);
Cell hca = hr.getCell(1);
Cell hcb = hr.getCell(2);
if (hca == null || hca.toString().equals("") || hcb == null || hcb.toString().equals("") || hxh == null || hxh.toString().equals("")) {
break;
}
if (hxh.getCellType() != Cell.CELL_TYPE_NUMERIC) {判断类型对否excel表的第一列为书序为int类型对应的就是CELL_TYPE_NUMERIC
jsonChildObj.put("fail", "FAIL");
jsonarr.add(jsonChildObj);
// throw new Exception("文件内容格式错误");
} else {
int xnumber = (int) hr.getCell(0).getNumericCellValue();
String name = hr.getCell(1).getStringCellValue();
int revision = (int) hr.getCell(2).getNumericCellValue();
//这里转换为json类型前台通过ajax获得
jsonChildObj.put("xnumber", xnumber);
jsonChildObj.put("name", name);
jsonChildObj.put("revision", revision);
jsonarr.add(jsonChildObj);
}
}
}
jsonPrint(jsonarr);
} catch (FileNotFoundException e) {
throw e;
} finally {
if (wb != null) {
wb = null;
}
if (is != null) {
is.close();
}
}
}
Excel表格内容导出到页面的更多相关文章
- java的excel表格的导出与下载
今天做一个java对excel表格的导出和下载的时候,从网络上搜寻了下载的模板,代码如下: 控制层: @RequestMapping(value = "excelOut_identifier ...
- php网址显示excel表格内容
/** * excel表格内容在网页中显示 * * 首先需要下载PHPExcel 工具包 * 网址: http://phpexcel.codeplex.com/releases/view/119187 ...
- JXL解析Excel表格内容到数据库
java中常用的解析Excel表格的工具一种是POI一种是JXL,POI功能强大,相比JXL稍嫌复杂,对表格样式的处理非常好:而JXL解析简单方便,对中文支持比较好. 工作中解析Excel内容上传到数 ...
- C# 读取Excel表格内容,以及NPOI的使用
在实际的开发中,我们可能需要读写word或者Excel的内容,在我开发的项目中,需要读取Excel的内容,并将相对应的内容存储到数据库中,这里简单跟大家分享一下,希望能够帮助一些人. 我相信在读写wo ...
- 跨平台信息获取小工具第三版本(增加了继承、多线程、异常处理模块、excel表格内容剔除空格)
# coding=utf-8 import threadingimport paramikoimport osimport timeimport xlrdimport xlwtimport openp ...
- 使用NPOI读取Excel表格内容并进行修改
前言 网上使用NPOI读取Excel文件的例子现在也不少,本文就是参考网上大神们的例子进行修改以适应自己需求的. 参考博文 http://www.cnblogs.com/restran/p/38894 ...
- 前端Excel表格导入导出,包括合并单元格,表格自定义样式等
表格数据导入 读取导入Excel表格数据这里采用的是 xlsx 插件 npm i xlsx 读取excel需要通过 XLSX.read(data, {type: type}) 方法来实现,返回一个叫W ...
- python自动化,使用unittest对界面操作,读取excel表格数据输入到页面查询结果,在把结果保存到另外一张excel中
# -*- coding: utf-8 -*-from selenium import webdriverfrom selenium.webdriver.common.by import Byfrom ...
- Python自动化办公:27行代码实现将多个Excel表格内容批量汇总合并到一个表格
序言 (https://jq.qq.com/?_wv=1027&k=GmeRhIX0) 老板最近越来越过分了,快下班了发给我几百个表格让我把内容合并到一个表格内去.还好我会Python,分分钟 ...
随机推荐
- MySQL绿色版mysql-5.7.17-winx64简洁安装教程
1.解压MySQL绿色版,复制my-default.ini,修改名称为my.ini 2. 以下为my.ini文件 # For advice on how to change settings plea ...
- solr的命令
Start the Server If you didn’t start Solr after installing it, you can start it by running bin/solr ...
- jquery sortable的拖动方法示例详解
转自:https://hb-keepmoving.iteye.com/blog/1154618 所有的事件回调函数都有两个参数:event和ui,浏览器自有event对象,和经过封装的ui对象 u ...
- 小程序npm构建
npm initnpm install --productionnpm i 第三方组件名称 -S --production //重要
- 第一篇:python简介
前言:作为对于python小白而言,我们需要知道什么是python,为什么学习python而不是其他编程语言,它相比于其他语言有什么优势,同时了解python 的执行操作过程又是怎么样的,它有哪些分类 ...
- excel转sql代码
1. 首先一个标准的excel表格,如下: 2. 在同一行,后面一个单元格,英文输入法状态下输入以下:=CONCATENATE() =CONCATENATE("insert into tab ...
- Linux学习之五-Linux系统终端常用的快捷键
Linux系统终端常用的快捷键 (使用快捷键能大大提高效率,部分用在远程登录的工具如Xshell下) 剪切板操作(终端不支持,因为终端是纯命令行) Ctrl+insert 复制 Shift+i ...
- appium 使用name 定位报错 Locator Strategy 'name' is not supported for this session
RF中使用 name定位 报错提示: Locator Strategy 'name' is not supported for this session 解决: 1. 打开本地文件 driver.js ...
- Java锁--Semaphore
转载请注明出处:http://www.cnblogs.com/skywang12345/p/3534050.html Semaphore简介 Semaphore是一个计数信号量,它的本质是一个&quo ...
- AOP(execution表达式)
作者:门罗的魔术师 推荐:y-yg 在使用spring框架配置AOP的时候,不管是通过XML配置文件还是注解的方式都需要定义pointcut"切入点" 例如定义切入点表达式 ex ...