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的第一列需要写保 ...
随机推荐
- Shell 字符串常见操作
参考文章:http://blog.csdn.net/chen_jp/article/details/8922582 一 字符替换 origin=原字符串 str=替换后的字符串 替换命令: str= ...
- 学习之js绑定事件
由于ie中绑定事件的bug,所以产生了用原生的实践操作来模拟事件绑定的方法,跟着李炎恢学的一招. function addEvent(obj, type, fn){ if(obj.addEventLi ...
- caption,为表格增加标题和摘要
格式: <table summary="***"> <caption>***</caption> <tr> </tr> ...
- String 与StringBuffer比较
package String比较; /* * String 与StringBuffer比较 * String 不可变,一旦赋值,就不能被修改 * StringBuffer可变的字符串. * Strin ...
- 【转】Android新组件Material Dialog,SwipeRefreshLayout,ListPopupWindow,PopupMenu等
朝花夕拾----新组件的学习和使用 分类: Android UI2015-06-26 11:31 440人阅读 评论(0) 收藏 举报 uidialogMaterial 目录(?)[-] Mate ...
- ASIHTTPRequest 记录过去5秒的平均流量字节/秒
//记录过去5秒的平均流量字节/秒 NSLog(@"%llu",[ASIHTTPRequest averageBandwidthUsedPerSecond]);
- getconf 命令
getconf 命令 用途 将系统配置变量值写入标准输出. 系统的默认参数,比如mkfs读取默认参数,并格式化,默认PAGESIZE是4096 语法 getconf [ -v specificatio ...
- shell中如何判断某一命令是否存在
参考: http://www.cnblogs.com/tuzkee/p/3755230.html https://segmentfault.com/q/1010000000156870 http:// ...
- 淘宝付邮试用Chrome桌面提醒插件(含源码)
淘宝付邮试用每天都会推出10元邮费试用的商品,有些对自己还是有用的.试用一下还不错,关键是便宜.不过,有些商家也抓住了买家贪便宜的特点,推出廉价垃圾商品.这里,大家还是慧眼识别了.每天浏览这些商品会很 ...
- ARC 没有自动释放内存
http://www.cnblogs.com/qingche/p/4569833.html 定位了好几天,才发现是打印日志没有即时释放内存,使用intrustment