用jxl导出数据到excel
需要jxl.jar
测试结果没问题,代码:
package com; import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List; import jxl.Workbook;
import jxl.WorkbookSettings;
import jxl.write.Label;
import jxl.write.WritableCellFormat;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
import jxl.write.biff.RowsExceededException; public class ExportExcel { public void exportExcel(String exportPath){
File file = new File(exportPath);
if(!file.exists()||file.isDirectory()){
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
WorkbookSettings WorkbookSettings = new WorkbookSettings();
WorkbookSettings.setEncoding("gbk"); WritableWorkbook writableWorkbook = null;
try {
writableWorkbook = Workbook.createWorkbook(file, WorkbookSettings); List<List<String>> data = getData(); int dataSize = data.size(); int maxItem = 10;//每个sheet最多能添加10条记录 int totalSheetCount = (dataSize/maxItem)+1;//总sheet数 for(int sheetIndex=0;sheetIndex<totalSheetCount;sheetIndex++){
WritableSheet sheet = writableWorkbook.createSheet("Sheet"+(sheetIndex+1), sheetIndex);
List<String> titles = data.get(0); WritableCellFormat writableCellFormat = new WritableCellFormat();//格式 TODO //添加title
for(int columnIndex=0;columnIndex<titles.size();columnIndex++){
String title = titles.get(columnIndex); try {
sheet.addCell(new Label(columnIndex, 0, title, writableCellFormat));//因为放在第一行,所以第二个参数(行Index)默认成0
} catch (RowsExceededException e) {
e.printStackTrace();
} catch (WriteException e) {
e.printStackTrace();
}
} for(int rowIndex = sheetIndex * maxItem + 1;rowIndex<(sheetIndex * maxItem + maxItem);rowIndex++){ int dataIndex = rowIndex-sheetIndex;//数据对应的index号
List<String> items = data.get(dataIndex);//每行内容 for(int columnIndex=0;columnIndex<items.size();columnIndex++){
String content = items.get(columnIndex);//每个cell中的内容 try {
sheet.addCell(new Label(columnIndex,rowIndex-(sheetIndex * maxItem), content, writableCellFormat));
} catch (RowsExceededException e) {
e.printStackTrace();
} catch (WriteException e) {
e.printStackTrace();
}
} if((dataIndex+1)==dataSize){//最后一条数据完成后终止
break;
} } } writableWorkbook.write(); } catch (IOException e) {
e.printStackTrace();
}finally{
if(writableWorkbook!=null){
try {
writableWorkbook.close();
} catch (WriteException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
} } } /**
* 数据源
* @return
*/
public List<List<String>> getData(){
List<List<String>> data = new ArrayList<List<String>>(); List<String> titles = new ArrayList<String>();
titles.add("序号");
titles.add("姓名");
titles.add("性别");
titles.add("生日");
titles.add("电话");
titles.add("邮箱"); data.add(titles);
for(int i=0;i<20;i++){
List<String> contents = new ArrayList<String>();
contents.add((i+1)+"");
contents.add("测试人员"+(i+1));
contents.add("男");
contents.add("1990-01-01");
contents.add("1851515151"+(i+1));
contents.add("123@12"+(i+1)+".com"); data.add(contents);
} return data;
} public static void main(String[] args) {
String exportPath = "D:\\exportExcel.xls";
ExportExcel exportExcel = new ExportExcel();
exportExcel.exportExcel(exportPath);;
}
}
用jxl导出数据到excel的更多相关文章
- 分别使用POI和JXL导出数据到Excel
1.使用POI 引入jar包 <!-- poi HSSF is our port of the Microsoft Excel 97(-2007) file format (BIFF8) to ...
- jxl 导出数据到excel
优点: Jxl对中文支持非常好,操作简单,方法看名知意. Jxl是纯javaAPI,在跨平台上表现的非常完美,代码可以再windows或者Linux上运行而无需重新编写 支持Excel 95-2000 ...
- JXL 读取 Excel java中jxl导出数据到excel的例子 上传文件
2010-10-14 19:17:06 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info 信息: Entferne Dat ...
- Java操作Jxl实现导出数据生成Excel表格数据文件
实现:前台用的框架是Easyui+Bootstrap结合使用,需要引入相应的Js.Css文件.页面:Jsp.拦截请求:Servlet.逻辑处理:ClassBean.数据库:SQLserver. 注意: ...
- 1.ASP.NET MVC使用EPPlus,导出数据到Excel中
好久没写博客了,今天特地来更新一下,今天我们要学习的是如何导出数据到Excel文件中,这里我使用的是免费开源的Epplus组件. 源代码下载:https://github.com/caofangshe ...
- 导出数据到Excel --使用ExcelReport有感
先看图,这是几个月前用NPOI写的导出数据到Excel,用了上百行代码,而且难控制,导出来也比较难看 excel打开的效果 下面是我用ExcelReport类库导出到Excel的操作 1.首先引用Ex ...
- 使用Open xml 操作Excel系列之二--从data table导出数据到Excel
由于Excel中提供了透视表PivotTable,许多项目都使用它来作为数据分析报表. 在有些情况下,我们需要在Excel中设计好模板,包括数据源表,透视表等, 当数据导入到数据源表时,自动更新透视表 ...
- Dynamics CRM导出数据到Excel
原创地址:http://www.cnblogs.com/jfzhu/p/4276212.html 转载请注明出处 Pivot Table是微软BI的一个重要工具,所以这里讲一下Dynamics CRM ...
- MVC导出数据到EXCEL新方法:将视图或分部视图转换为HTML后再直接返回FileResult
导出EXCEL方法总结 MVC导出数据到EXCEL的方法有很多种,常见的是: 1.采用EXCEL COM组件来动态生成XLS文件并保存到服务器上,然后转到该文件存放路径即可: 优点:可设置丰富的EXC ...
随机推荐
- Python 脚本 监控数据库状态
打算用这个脚本通过zabbix 监控Mariadb的,无奈要等Mariadb完全上线才行,所以先写一个粗略大致功能的版本. #coding:utf-8 #author:shiyiwen #versio ...
- js 所有事件列表
javascript事件列表解说 事件 浏览器支持 解说 一般事件 onclick IE3.N2 鼠标点击时触发此事件 ondblclick IE4.N4 鼠标双击时触发此事件 onmousedown ...
- 在OSX下卸载Xamarin
To uninstall Xamarin Studio, you'll want to run the following commands from a Terminal: sudo rm -rf ...
- isset 和empty 两个函数的用法
关于用php 获取当前脚本的url很多朋友会说很简单,但是要获取很详细的就要经过多次判断哦. $PHP_TIME = time();$PHP_SELF = isset($_SERVER['PHP_SE ...
- Web前端开发基础 第一天(Html和CSS)
学习web前端开发基础技术需要掌握:HTML.CSS.JavaScript语言.下面我们就来了解下这三门技术都是用来实现什么的: 1. HTML是网页内容的载体.内容就是网页制作者放在页面上想要让用户 ...
- linux应用于发展(下)
X windows的特点 1.独立于操作系统. 2.网络特性. 3.源码开源. Unix图形环境主要还是CDE linux主要还是在网络应用和嵌入式上使用较多. 娱乐办公什么的去windows吧. 网 ...
- JSP Standard Tag Library JSP标准标签库
了解了基本的标签的底层实现,可以看系统定义的强大的标准标签 1.首先引入两个jar包 2.基本语法 <%@ taglib prefix="c" uri="http: ...
- ArcMap中,如何查看当前工具是否在执行?如何将工具调到前台来执行?
ArcMap中,如何查看当前工具是否在执行?如何将工具调到前台来执行? 描述 如何查看当前工具是否在执行?如何将工具调到前台来执行? 解决办法 后台GP执行中,可以在 Geoprocessing菜单中 ...
- github 或者gitlab 设置添加SSH, 避免每次提交重复输入用户名
克隆项目二种方式: 1. 使用https url克隆, 复制https url 然后到 git clone https-url 2.使用 SSH url 克隆却需要在克隆之前先配置和添加好 SSH ...
- CentOS 配置网络yum源
配置网络yum源(需要保证外网开通,使用网易163提供开源镜像站) 1.下载repo文件 方法一:下载到本地windows再上传到linux服务器上: 下载地址 : http://mirrors.16 ...