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导出的更多相关文章

  1. Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类

    Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类 ============================== ©Copyright 蕃薯耀 20 ...

  2. java excel导出(基于注解)

    小白,做日志只是为了方便自己查看,能帮到别人当然更好,不喜勿喷. 上代码 依赖: <dependency> <groupId>org.apache.poi</groupI ...

  3. 自己写的java excel导出工具类

    最近项目要用到excel导出功能,之前也写过类似的代码.因为这次项目中多次用到excel导出.这次长了记性整理了一下 分享给大伙 欢迎一起讨论 生成excel的主工具类: public class E ...

  4. java excel导出(表头合并,多行表头)

    @RequestMapping(value="orderExcelList2") public void orderExcelList2forJava(Order order,Ht ...

  5. java excel导出

    下面是jsp代码: <li class="btns"><input id="btnExport" class="btn btn-pr ...

  6. java反射学习之二万能EXCEL导出

    一.EXCEL导出的实现过程 假设有一个对象的集合,现在需要将此集合内的所有对象导出到EXCEL中,对象有N个属性:那么我们实现的方式是这样的: 循环这个集合,在循环集合中某个对象的所有属性,将这个对 ...

  7. Atitit.excel导出 功能解决方案 php java C#.net版总集合.doc

    Atitit.excel导出 功能解决方案 php java C#.net版总集合.docx 1.1. Excel的保存格式office2003 office2007/2010格式1 1.2. 类库选 ...

  8. java:POI导出excel

    POI是一个开源项目,专用于java平台上操作MS OFFICE,企业应用开发中可用它方便导出Excel. 下面是使用示例: 1.maven中先添加依赖项 <dependency> < ...

  9. java(POI):基于模版的Excel导出功能,局部列写保护总结

    需求描述: 1.导出的Excel中部分列包含有下拉列表,并没有尝试过用代码实现这种功能,个人感觉比较棘手,故采用了模版的形式,直接导出数据到已经创建好的Excel模版中 2.Excel的第一列需要写保 ...

随机推荐

  1. SQL 编辑

    局部变量: DECLARE @variable_name Datatype Variable_naem为局部变量的名称,Datatype为数据名称. 例如: DECLARE @name varchar ...

  2. (读书笔记)Asp.net Mvc 与WebForm 混合开发

    根据项目实际需求,有时候会想在项目中实现Asp.net Mvc与Webform 混合开发,比如前台框架用MVC,后台框架用WebForm.其实要是实现也很简单,如下: (1)在MVC 中使用Webfo ...

  3. Invitation Cards---poj1511(spfa)

    题目链接:http://poj.org/problem?id=1511 有向图有n个点m条边,求点1到其他n-1个点的最短距离和+其他点到点1的最小距离和: 和poj3268一样,但是本题的数据范围较 ...

  4. Block作为property属性实现页面之间传值(代替Delegate代理与协议结合的方法)

    需求:在ViewController中,点击Button,push到下一个页面NextViewController,在NextViewController的输入框TextField中输入一串字符,返回 ...

  5. JS之iframe中的窗口

    1.window.self 对当前窗口自身的引用;self,window.self,window三者是等价的 2.window.top 对顶层窗口的引用,如果本身就是顶层窗口,则返回本身 3.wind ...

  6. iOS NSURLSession 封装下载类

    周六日鼓捣NSURLSession,效率虽然低下,最后还是有了一点点眉目.昨天和汤老师一起测试,又对它加深了一点理解.趁热打铁,先总结一下. 封装的类,对外用的方法,我写的是类方法,所以,在类方法中, ...

  7. windows 2008R2 无法安装操作系统补丁,或无法安装Sp1升级包的解决办法

    windows 2008R2 无法安装操作系统补丁,或无法安装Sp1升级包的解决办法 给 C:\ 加上users读取和执行,,列出文件夹内容,及读取的权限,不需要就用到子目录 将 C:\Windows ...

  8. windows server 2008服务器IIS绑定阿里云域名

    一.打开Internet 信息服务(IIS)管理器   二.将你的网站放到服务器目录下,比如D盘下的WWW文件夹.   三.在IIS中,添加网站,网站的物理路径指向第二部中创建的网站.   五.在绑定 ...

  9. 用java给php写个万能接口

    package helloworld; import java.io.IOException; import javax.servlet.ServletException; import javax. ...

  10. 3、DOM操作

    一.认识DOM 文档对象模型DOM(Document Object Model)定义访问和处理HTML文档的标准方法.DOM 将HTML文档呈现为带有元素.属性和文本的树结构(节点树). 先来看看下面 ...