HSSFWorkbook操作excel读写
//exlel读操作
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
Iterator<String> iter = multipartRequest.getFileNames();
File fileFile = null;
while (iter.hasNext()) {
MultipartFile multipartFile = multipartRequest.getFile(iter.next());
String sourceName = multipartFile.getOriginalFilename();
String base = request.getSession().getServletContext().getRealPath("/");
File file = new File(base);
if(!file.exists()){
file.mkdirs();
}
String path=base + File.separator + sourceName;
File fileFile = new File(path);
multipartFile.transferTo(fileFile);
HSSFWorkbook wb = new HSSFWorkbook(new FileInputStream(file));
HSSFSheet sheet = wb.getSheetAt(0);
for(int j=0;j<sheet.getLastRowNum()+1;j++) {
HSSFRow row = sheet.getRow(j);
for(int i1=0; i1<row.getLastCellNum(); i1++) {
HSSFCell cell = row.getCell(i1);
System.out.println(cell.getRichStringCellValue());
}
}
}
//exlel写操作
// 第一步,创建一个webbook,对应一个Excel文件
HSSFWorkbook wb = new HSSFWorkbook();
// 第二步,在webbook中添加一个sheet,对应Excel文件中的sheet
HSSFSheet sheet = wb.createSheet(name);
// 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short
HSSFRow row = sheet.createRow(0);
// 第四步,创建单元格,并设置值表头 设置表头居中
HSSFCellStyle style = wb.createCellStyle();
style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
sheet.setColumnWidth(0, 10000);
sheet.setColumnWidth(1, 7000);
sheet.setColumnWidth(2, 4000);
cell.setCellValue(TeacherConstant.TCITY);
cell.setCellStyle(style);
cell = row.createCell(1);
cell.setCellValue(TeacherConstant.TNAME);
cell.setCellStyle(style);
cell = row.createCell(2);
cell.setCellValue(TeacherConstant.TPHONE);
cell.setCellStyle(style);
for (int i = 0; i < pmUsers.size(); i++) {
Map<String, Object> map = pmUsers.get(i);
row = sheet.createRow(i + 1);
cell = row.createCell(0);
cell.setCellStyle(style);
cell.setCellValue(new HSSFRichTextString(map.get("TotalCityName") + ""));
cell = row.createCell(1);
cell.setCellStyle(style);
cell.setCellValue(new HSSFRichTextString(map.get("teacher_name") + ""));
cell = row.createCell(2);
cell.setCellStyle(style);
cell.setCellValue(new HSSFRichTextString(map.get("teacher_phone") + ""));
}
// 第六步,将文件存到指定位置
FileOutputStream file = null;
String fileAdd = "";
if (pmUsers.size() > 0) {
if (paramBean.getCityId() == null) {
fileAdd = realPath + pmUsers.get(0).get("TotalCityName").toString().substring(0, 3) + TeacherConstant.TTABLE + TeacherConstant.XLS;
} else if (paramBean.getCountyId() == null) {
fileAdd = realPath + pmUsers.get(0).get("TotalCityName").toString().substring(0, 6) + TeacherConstant.TTABLE + TeacherConstant.XLS;
} else {
fileAdd = realPath + pmUsers.get(0).get("TotalCityName").toString().substring(0, 9) + TeacherConstant.TTABLE + TeacherConstant.XLS;
}
} else {
return;
}
try
{
file = new FileOutputStream(fileAdd);
wb.write(file);
}
catch (Exception e)
{
e.printStackTrace();
}
finally {
file.close();
}
HSSFWorkbook操作excel读写的更多相关文章
- python使用xlrd 操作Excel读写
此文章非本人 一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了python 环境. 二.使用介绍 1.导入模块 i ...
- python操作Excel读写--使用xlrd和xlwt
一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了python 环境. 进入到解压文件路径,输入 setup.py ...
- python操作Excel读写--使用xlrd
一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了python 环境. 二.使用介绍 1.导入模块 import x ...
- python操作Excel读写(使用xlrd和xlrt)
包下载地址:https://pypi.python.org/pypi/xlrd 导入 import xlrd 打开excel data = xlrd.open_workbook('demo.xls ...
- python操作Excel读写--使用xlrd (转)
(转自:http://www.cnblogs.com/lhj588/archive/2012/01/06/2314181.html) 一.安装xlrd模块 到python官网下载http://pypi ...
- NX二次开发-基于MFC界面的NX对Excel读写操作(OLE方式(COM组件))
NX二次开发API里没有对EXCAL读写操作的相关函数,市面上有很多种方法去实现,比如UFUN调KF,ODBC,OLE(COM组件)等等.这里我是用的OLE(COM组件)方式去做的,这种在VC上创建的 ...
- Python操作Excel
一.系统性学习 对于操作Excel,需要Xlrd/xlwt这两个模块,下面推荐出系统性学习的网址: python操作Excel读写--使用xlrd 官方文档 Python 使用 Xlrd/xlwt 操 ...
- python excel 读写
python操作Excel读写--使用xlrd xlwt python中使用xlrd.xlwt操作excel表格详解
- Java学习---Excel读写操作
1.1.1. 简介 Apache POI 使用Apache POI 完成Excel读写操作 Apache POI 是用Java编写的免费开源的跨平台的 Java API,Apache POI提供API ...
随机推荐
- foreach循环详解
在Java1.5+中,foreach循环非常实用. public class Demo <T> implements Iterable<T>, Iterator<T& ...
- json日期字符串格式化时间
var str = '/Date(1333245600000+0800)/'; function data_string(str) { var d = eval('new ' + str. ...
- CorelDrawX8安装时提示已安装另一个版本
(1)首先卸载VIsualC++ 2015 运行库. (2)如果有VisualC++ 2017运行库,卸载VisualC++2017运行库,即可.
- udp_client函数
#include <netdb.h> #include <stdlib.h> #include <string.h> #include <sys/socket ...
- ****** 四十二 ******、软设笔记【网络基础】-IPv6协议、常用的网络协议
一.IPv6协议 IPv6协议,全称"互联网协议第6版",即下一代的网际协议. 相对于IPv4来说,IPv6协议主要改进: *扩展的地址.IPv6地址长度为128位. *IPv6使 ...
- luogu 2704 炮兵阵地 状压dp
状压的基础题吧 第一次看感觉难上天,后来嘛就.. 套路:先根据自身状态筛出可行状态,再根据地图等其他限制条件筛选适合的状态加入答案 f i,j,k 分别代表 行数,本行状态,上行状态,再累加答案即可 ...
- 缓存dom查询
为了提高性能缓存dom查询; 页面效果:
- Maven配置 和创建一个Maven项目
Maven的好处: maven的两大核心: **依赖管理:对jar包管理过程 **项目构建:项目在编码完成后,对项目进行编译.测试.打包.部署等一系列的操作都通过命令来实现 maven项目的生命周期( ...
- Vue获取事件源
设置事件源 <label :data-weight="item1.EvaluateWeight" @click='radioClick' :data-id="ite ...
- 统计分析与R软件-chapter2-6
2.6 列表与数据框 2.6.1 列表 1.列表的构造 列表是一种特别的对象集合,它的元素也由序号(下标)区分,但是各元素的类型可以是任意对象,不同元素不必是同一类型,元素本身允许是其他复杂数据类型, ...