java-excel导出
java excel导出分为两种2003年的格式和2007年的格式。
2003年的xls一个sheet限制65536。
2007年的xlsx限制为1048576。
jxl导入2003
gradle jar包compile group: 'net.sourceforge.jexcelapi', name: 'jxl', version: '2.6.12'
public void writeExcelJXL() {
String path = "/macc/excel/";
String[] titles = {"用户活跃时间","频段","网点名称","下行速率(kbps)","MAC","上线时间","丢包率(‰)","信号强度","SN","时延(ms)","上下行速率(kbps)","上行速率(kbps)","用户ip","下行流量(byte)","上行流量(byte)","上下行流量(byte)"};
List<String> titleList = Arrays.asList(titles);
File file = new File(path);
if(!file.exists())
file.mkdirs();
// 以下开始输出到EXCEL
try {
/** **********创建工作簿************ */
OutputStream os = new FileOutputStream(path + "test.xls");
WritableWorkbook workbook = Workbook.createWorkbook(os);
/** **********创建工作表************ */
WritableSheet sheet = workbook.createSheet("Sheet1", 0);
/** **********设置纵横打印(默认为纵打)、打印纸***************** */
jxl.SheetSettings sheetset = sheet.getSettings();
sheetset.setProtected(false);
/** ************设置单元格字体************** */
WritableFont NormalFont = new WritableFont(WritableFont.ARIAL, 10);
/** ************以下设置三种单元格样式,灵活备用************ */
// 用于标题居中
WritableCellFormat wcf_center = new WritableCellFormat(NormalFont);
wcf_center.setBorder(Border.NONE, BorderLineStyle.THIN); // 线条
wcf_center.setVerticalAlignment(VerticalAlignment.CENTRE); // 文字垂直对齐
wcf_center.setAlignment(Alignment.CENTRE); // 文字水平对齐
wcf_center.setWrap(false); // 文字是否换行
/** ***************以下是EXCEL第一行列标题********************* */
for (int i = 0; i < titleList.size(); i++) {
sheet.addCell(new Label(i, 0,titleList.get(i),wcf_center));
}
/** ***************以下是EXCEL正文数据********************* */
int i=1;
List<CurrentUser> listContent = mongo.findAll(CurrentUser.class);
for(CurrentUser obj:listContent){
for (int j = 0; j < titleList.size(); j++) {
Object va = obj.getMac();
if(va != null)
sheet.addCell(new Label(j, i,va.toString(),wcf_center));
}
i++;
}
/** **********将以上缓存中的内容写到EXCEL文件中******** */
workbook.write();
/** *********关闭文件************* */
workbook.close();
System.out.println("finished");
} catch (Exception e) {
e.printStackTrace();
}
}
poi导入2007
compile group: 'org.apache.poi', name: 'poi', version: '3.14'
compile group: 'org.apache.poi', name: 'poi-ooxml', version: '3.14'
private void create2007Excel() {
String path = "/macc/excel/";
String[] titles = {"用户活跃时间","频段","网点名称","下行速率(kbps)","MAC","上线时间","丢包率(‰)","信号强度","SN","时延(ms)","上下行速率(kbps)","上行速率(kbps)","用户ip","下行流量(byte)","上行流量(byte)","上下行流量(byte)"};
List<String> titleList = Arrays.asList(titles);
File file = new File(path);
if(!file.exists())
file.mkdirs();
XSSFWorkbook workbook = new XSSFWorkbook();
try (OutputStream os = new FileOutputStream(path + "test.xlsx")) {
/** **********创建工作簿************ */
XSSFSheet sheet = workbook.createSheet();
/** ***************以下是EXCEL第一行列标题********************* */
XSSFRow titleRow = sheet.createRow(0);
for (int i = 0; i < titleList.size(); i++) {
XSSFCell cell = titleRow.createCell(i);
cell.setCellValue(titleList.get(i));
}
/** ***************以下是EXCEL正文数据********************* */
int i=1;
List<CurrentUser> listContent = mongo.findAll(CurrentUser.class);
int rowNum = 1;
for(CurrentUser obj:listContent){
XSSFRow row = sheet.createRow(rowNum);
rowNum ++;
for (int j = 0; j < titleList.size(); j++) {
Object va = obj.getMac();
if(va != null)
row.createCell(j).setCellValue(va.toString());
}
i++;
}
workbook.write(os);
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("创建成功 office 2007 excel");
}
java-excel导出的更多相关文章
- Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类
Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类 ============================== ©Copyright 蕃薯耀 20 ...
- java excel导出(基于注解)
小白,做日志只是为了方便自己查看,能帮到别人当然更好,不喜勿喷. 上代码 依赖: <dependency> <groupId>org.apache.poi</groupI ...
- 自己写的java excel导出工具类
最近项目要用到excel导出功能,之前也写过类似的代码.因为这次项目中多次用到excel导出.这次长了记性整理了一下 分享给大伙 欢迎一起讨论 生成excel的主工具类: public class E ...
- java excel导出(表头合并,多行表头)
@RequestMapping(value="orderExcelList2") public void orderExcelList2forJava(Order order,Ht ...
- java excel导出
下面是jsp代码: <li class="btns"><input id="btnExport" class="btn btn-pr ...
- java反射学习之二万能EXCEL导出
一.EXCEL导出的实现过程 假设有一个对象的集合,现在需要将此集合内的所有对象导出到EXCEL中,对象有N个属性:那么我们实现的方式是这样的: 循环这个集合,在循环集合中某个对象的所有属性,将这个对 ...
- Atitit.excel导出 功能解决方案 php java C#.net版总集合.doc
Atitit.excel导出 功能解决方案 php java C#.net版总集合.docx 1.1. Excel的保存格式office2003 office2007/2010格式1 1.2. 类库选 ...
- java:POI导出excel
POI是一个开源项目,专用于java平台上操作MS OFFICE,企业应用开发中可用它方便导出Excel. 下面是使用示例: 1.maven中先添加依赖项 <dependency> < ...
- java(POI):基于模版的Excel导出功能,局部列写保护总结
需求描述: 1.导出的Excel中部分列包含有下拉列表,并没有尝试过用代码实现这种功能,个人感觉比较棘手,故采用了模版的形式,直接导出数据到已经创建好的Excel模版中 2.Excel的第一列需要写保 ...
随机推荐
- Ajax无刷新提交
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- (letcode)String to Integer (atoi)
Implement atoi to convert a string to an integer. Hint: Carefully consider all possible input cases. ...
- Combine String---hdu5727 &&& Zipper(LCS变形)
题目链接:http://poj.org/problem?id=2192 http://acm.split.hdu.edu.cn/showproblem.php?pid=5707 http://acm. ...
- 10 Ways to Inspire Your Team
Inspire. Just the word itself causes us to pause and think. We may remember our own personal heroes ...
- 如何由新特性跳转到App首页
前一段时间,一个哥们问我怎么跳转. 1.首先,要获取到当前的window,因为是在window层面上显示,所以,在window层面上进行push. 2.参照上面一条. // 显示状态栏 UIAppli ...
- 详解MySQL---DDL语句、DML语句与DCL语句
背景:近几年,开源数据库逐渐流行起来.由于具有免费使用.配置简单.稳定性好.性能优良等优点,开源数据库在中低端应用上占据了很大的市场份额,而 MySQL 正是开源数据库中的杰出代表.MySQL 数据库 ...
- 用java给php写个万能接口
package helloworld; import java.io.IOException; import javax.servlet.ServletException; import javax. ...
- MVC项目实践,在三层架构下实现SportsStore-03,Ninject控制器工厂等
SportsStore是<精通ASP.NET MVC3框架(第三版)>中演示的MVC项目,在该项目中涵盖了MVC的众多方面,包括:使用DI容器.URL优化.导航.分页.购物车.订单.产品管 ...
- Python模块(getpass)
getpass getpass模块用于输入信息时不显示,比如输入密码时隐藏.getpass模块接收用户的输入的数据类型是str类型. #!/usr/bin/env python #-*- coding ...
- Python之路-python环境安装和简单的语法使用
一.环境安装 Win10(安装python3.x): 1.下载安装包 https://www.python.org/downloads/ 2.安装完成后设置环境变量. 桌面-“计算机”-右 ...